Trabajar con archivos QVD

Un archivo QVD (QlikView Data) es un archivo que contiene una tabla de datos exportados desde Qlik Sense. QVD es un formato nativo de Qlik y solo pueden leerlo y escribirlo Qlik Sense o QlikView. El formato de archivo está optimizado para mejorar la velocidad de lectura de datos desde un script, siendo al mismo tiempo muy compacto. Leer datos desde un archivo QVD es por lo general 10-100 veces más rápido que leer de otras fuentes de datos.

Los archivos QVD se puede leer en dos modos: estándar (rápido) y optimizado (más rápido). El modo que se utilice viene determinado de forma automática por el motor de script.

Hay algunas limitaciones con respecto a las cargas optimizadas. Es posible cambiar el nombre de los campos, pero cualquiera de las operaciones aquí mencionadas deshabilitará la carga optimizada y dará como resultado una carga estándar.

  • Cualquier transformación en los campos que se cargan.
  • Usar una cláusula where que ocasione que Qlik Sense descomprima los registros.
  • Usar Map en un campo que se carga.

Finalidad de los archivos QVD

Los archivos QVD se pueden usar con muchos fines y más de uno puede aplicarse en cualquier situación dada. Podemos identificar claramente al menos cuatro usos fundamentales.

  • Incremento de la velocidad de carga
  • Al almacenar en búfer los bloques de datos de entrada que no cambian o que cambian lentamente en los archivos QVD, la ejecución de script se vuelve considerablemente más rápida para los grandes conjuntos de datos.

  • Reducción de la carga en los servidores de las bases de datos
  • Mediante el envío a buffers de las partes que no cambian, o cambian muy lentamente, de los datos de entrada de archivos QVD, podemos reducir enormemente la cantidad de datos obtenidos de fuentes de datos externas. Esto alivia la carga de las bases de datos externas y reduce el tráfico de la red. Además, cuando varios scripts comparten los mismos datos, solo es necesario cargarlo una vez desde la base de datos de origen en un archivo QVD. Otras apps pueden hacer uso de los mismos datos a través de este archivo QVD.

  • Consolidar datos de múltiples apps
  • Con la sentencia de script binary, los datos se pueden cargar desde una sola app a otra, pero con los archivos QVD, un script puede combinar datos de cualquier cantidad de apps. Esto permite a las apps consolidar datos similares de distintas unidades de negocio, por ejemplo.

  • Incremental
  • En muchos casos habituales, la funcionalidad del QVD puede usarse para la carga incremental, cargando solo los nuevos registros de una base de datos en aumento.

    Para más información, vea Cargar registros nuevos y actualizados mediante la carga incremental.

Crear archivos QVD

Un archivo QVD se puede crear de dos maneras:

  • Mediante la creación explícita y su nombrado mediante el comando store en el script. Indique simplemente en el script que desea exportar una tabla anteriormente leída, o parte de ella, a un nombre de archivo explícito, en una ubicación de su elección.

    Para más información, vea Store.

  • Mediante creación y mantenimiento automáticos desde el script. Cuando se coloca el prefijo buffer delante de una sentencia LOAD o SELECT con , Qlik Sense creará automáticamente un archivo QVD, que, bajo ciertas condiciones, se puede utilizar en lugar de la fuente de datos original al volver a cargar los datos.

    Para más información, vea Buffer.

No hay diferencia entre los archivos QVD resultantes con respecto a la velocidad de lectura.

Leer datos desde archivos QVD

Un archivo QVD se puede leer o está accesible mediante los siguientes métodos:

  • Cargar un archivo QVD como una fuente de datos explícita. Los archivos QVD se pueden referenciar mediante una sentencia LOAD en el script, igual que cualquier otro tipo de archivos de texto (csv, fix, dif, biff etc).
  • Example:  

    LOAD * from xyz.qvd (qvd);

    LOAD Name, RegNo from xyz.qvd (qvd);

    LOAD Name as a, RegNo as b from xyz.qvd (qvd);

  • Carga automática de archivos QVD almacenados en el búfer. Cuando utiliza el prefijo buffer en sentencias LOAD o SELECT no son necesarias sentencias explícitas para la lectura. Qlik Sense determinará en qué medida utilizará los datos del archivo QVD en lugar de adquirir los datos utilizando la sentencia LOAD o SELECT original.
  • Acceder a archivos QVD desde el script. Se pueden usar varias funciones de script (todas ellas comenzando por qvd) para recuperar información diversa sobre los datos encontrados en la cabecera XML de un archivo QVD.

Formato QVD

Un archivo QVD contiene exactamente una tabla de datos y consta de tres partes:

  • Cabecera.

    Nota: Si el archivo QVD se generó con QlikView la cabecera es un encabezado XML bien formado (en el juego de caracteres UTF-8) que describe los campos de la tabla, el diseño de la información posterior y otros metadatos.
  • Tablas de símbolos en un formato de bytes.
  • Datos reales de la tabla en formato de bits.