Trabajar con archivos Apache Parquet
Apache Parquet es un formato de almacenamiento en columnas, altamente eficiente para almacenar y consultar grandes conjuntos de datos. En Qlik Sense, puede leer datos de archivos Parquet y almacenar tablas como archivos de Parquet .
Parquet permite consultas eficientes de columnas específicas en una tabla en lugar de leer toda la tabla. Esto lo hace muy adecuado para su uso con el procesamiento de big data. Además, Parquet admite una compresión y codificación de datos eficientes. Esto puede reducir aún más el espacio de almacenamiento y mejorar el rendimiento de las consultas.
Crear archivos Parquet
Puede crear archivos Parquet usando 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. Puede anidar los datos que almacena en archivos Parquet.
Para más información, vea Store.
Leer datos desde archivos Parquet
Puede leer datos de un archivo Parquet como lo haría con cualquier otro archivo de datos compatible con Qlik Sense. Esto incluye al Gestor de datos, el Editor de carga de datos o cuando agrega datos a una nueva app.
Para más información, vea Cargar datos desde archivos.
También puede cargar datos desde un archivo Parquet en el script de carga de datos con el comando LOAD. Por ejemplo:
Para más información, vea Load.
Cargar datos desde archivos Parquet anidados
Si un archivo Parquet contiene datos anidados, es necesario cargarlos en varias sentencias de carga, cada una especificando qué subconjunto debe cargarse en cada tabla. El especificador Table is se utiliza para demostrar una ruta al nodo del grupo en el esquema que se va a cargar.
Solo se cargan los nodos que coincidan con la ruta de Table is.
Los nodos de datos se cargan en un archivo sin anidamiento.
Los nodos de grupo agruparán los campos del grupo añadiendo su nombre al nombre del campo. Por ejemplo, un grupo con field1 y field2 se cargan como group.field1 y group.field2.
Los nodos de lista generarán campos clave que se utilizarán para enlazar las tablas. Por ejemplo, %Key_group.list.Cualquier grupo o nodo de datos de la lista necesita cargarse en una sentencia load aparte. También se añadirá un campo clave a la lista de padres.
Los siguientes ejemplos muestran el mismo archivo Parquet anidado, creado en el ejemplo de Almacenar datos anidados en archivos Parquet, cargado en una aplicación, utilizando Gestor de datos y Editor de carga de datos (con la secuencia de script predeterminada de Seleccionar datos y secuencia de script personalizada).
Ejemplo: Gestor de datos
Si carga customer.parquet en Gestor de datos y aplica todas las asociaciones recomendadas, se obtiene el siguiente modelo de datos:
Ejemplo: Editor de carga de datos (Seleccionar datos)
Si carga los datos mediante Seleccionar datos en Editor de carga de datos, se obtiene el siguiente script:
El modelo de datos presentará este aspecto en el Visor del modelo de datos.
Ejemplo: Editor de carga de datos (Script de carga personalizado)
Si utiliza un script de carga personalizado, tendrá más control sobre cómo se cargan los campos y las tablas desde customer.parquet. El siguiente script de carga carga las tablas y los campos desde company.parquet:
Esto da como resultado el siguiente modelo de datos, que es idéntico al modelo de datos original antes de que los datos se almacenaran en el archivo Parquet.
Limitaciones
Los archivos Parquet tienen las siguientes limitaciones:
-
Es posible que los archivos de Parquet que contienen un campo de marca de tiempo int96 no se carguen correctamente.
Int96 es un tipo de datos obsoleto que contiene una marca de tiempo sin información de zona horaria. Se intentará leer el campo como UTC, pero como existen diferentes implementaciones de proveedores, no hay garantía de éxito.
Verifique los datos cargados y ajústelos a la zona horaria correcta con un desplazamiento si es necesario.