Trabajar con archivos QVD
Un archivo QVD (QlikView Data) es un archivo que contiene una tabla de datos exportados desde una app de Qlik Sense o desde un script. 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:
-
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 o scripts 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 app o script, pero con los archivos QVD, un script de carga puede combinar datos de cualquier cantidad de apps o de otras fuentes de datos. Esto permite a apps y scripts consolidar datos similares de distintas unidades de negocio, por ejemplo.
-
Carga 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.
Para ver cómo utiliza Automatización de aplicaciones de Qlik la comunidad de Qlik para mejorar los tiempos de carga de los QVD, vea Cómo dividir archivos QVD usando una automatización para mejorar las recargas.
Crear archivos QVD
Puede crear y dar nombre a un archivo QVD usando el comando Store en el script de carga. 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.
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).
Por ejemplo:
- LOAD * from [lib://DataFiles/xyz.qvd];
- LOAD Name, RegNo from [lib://DataFiles/xyz.qvd];
- LOAD Name as a, RegNo as b from [lib://DataFiles/xyz.qvd];
- 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 informativaSi 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.