Compatibilidad nativa con la calidad de datos para el formato Iceberg (versión preliminar)
La compatibilidad nativa de Microsoft Purview con el formato de tabla abierta de Apache Iceberg está en versión preliminar pública. Los clientes de Microsoft Purview que usan Microsoft Azure Data Lake Storage (ADLS) Gen2, Microsoft Fabric Lakehouse, Amazon Web Services (AWS) S3 y Google Cloud Platform (GCP) Google Cloud Storage (GCS) ahora pueden usar Microsoft Purview para mantener, controlar y realizar el control de estado de los datos y la evaluación de la calidad de los datos en los recursos de datos iceberg.
Estructura de archivos iceberg
Una tabla iceberg es algo más que una colección de archivos de datos. Incluye varios archivos de metadatos que realizan un seguimiento del estado de la tabla y facilitan operaciones como lecturas, escrituras y evolución del esquema. A continuación se muestra una exploración de los componentes críticos implicados en una tabla iceberg. Los archivos de datos de una tabla iceberg se almacenan normalmente en formatos en columnas como Apache Parquet, Apache Avro o Apache Optimized Row Columnar (ORC). Estos archivos contienen los datos reales con los que interactúan los usuarios durante las consultas.
Catálogo iceberg
En la parte superior está el catálogo iceberg, que almacena el puntero de metadatos actual para cada tabla. Este catálogo permite realizar un seguimiento del estado más reciente de una tabla haciendo referencia al archivo de metadatos actual.
Capa de metadatos
La capa de metadatos es fundamental para la funcionalidad de Iceberg y se compone de varios elementos clave:
- Archivo de metadatos: Este archivo contiene información sobre el esquema, las particiones y las instantáneas de la tabla. En el diagrama, s0 hace referencia a una instantánea, que es básicamente un registro del estado de la tabla en un momento dado. Si existen varias instantáneas, como s0 y s1, el archivo de metadatos realiza un seguimiento de ambas.
- Lista de manifiestos: Esta lista apunta a uno o varios archivos de manifiesto. Una lista de manifiestos actúa como un contenedor de referencias a estos manifiestos y ayuda a Iceberg a administrar de forma eficaz qué archivos de datos se deben leer o escribir durante distintas operaciones. Cada instantánea podría tener su propia lista de manifiestos.
Capa de datos
En la capa de datos, los archivos de manifiesto actúan como intermediarios entre los metadatos y los archivos de datos reales. Cada archivo de manifiesto apunta a una colección de archivos de datos, lo que proporciona un mapa de los archivos físicos almacenados en el lago de datos.
- Archivos de manifiesto: estos archivos almacenan los metadatos de un grupo de archivos de datos, incluidos los recuentos de filas, la información de partición y las rutas de acceso de archivo. Permiten a Iceberg podar y acceder a archivos específicos rápidamente, lo que permite realizar consultas eficaces.
- Archivos de datos: los datos reales residen en estos archivos, que pueden estar en formatos como Parquet, ORC o Avro. Iceberg organiza los archivos de datos en función de las particiones, lo que permite optimizaciones de rendimiento durante la ejecución de consultas minimizando los exámenes de datos innecesarios.
Cómo funciona juntos
Cuando se realiza una operación como una consulta o una actualización, Iceberg busca primero el archivo de metadatos de la tabla a través del catálogo. El archivo de metadatos hace referencia a la instantánea actual (o a varias instantáneas), que luego apunta a la lista de manifiestos. La lista de manifiestos contiene referencias a los archivos de manifiesto, que a su vez enumeran los archivos de datos individuales. Esta estructura jerárquica permite a Iceberg administrar grandes conjuntos de datos de forma eficaz, a la vez que garantiza la coherencia transaccional, lo que permite características como el viaje en el tiempo y la evolución del esquema.
Este diseño multicapa mejora el rendimiento y la escalabilidad de las operaciones por lotes y streaming, ya que solo se accede a los archivos de datos necesarios y las actualizaciones se administran a través de instantáneas sin afectar a todo el conjunto de datos.
Datos de Iceberg en OneLake
Puede consumir sin problemas datos con formato Iceberg en Microsoft Fabric sin movimiento de datos ni duplicación. Puede usar métodos abreviados de OneLake para apuntar directamente a una capa de datos.
Los datos de Iceberg se almacenan en OneLake, escrito con Snowflake u otro escritor iceberg. OneLake virtualiza la tabla como una tabla de Delta Lake, lo que garantiza una amplia compatibilidad entre los motores de Fabric. Por ejemplo, puede crear un volumen en Snowflake y apuntarlo directamente a Fabric Lakehouse. Una vez creada la tabla en Fabric OneLake, la sincronización automática garantiza que las actualizaciones de datos se reflejen en tiempo real. Este proceso simplificado facilita el trabajo con datos iceberg en Microsoft Fabric. Obtenga más detalles de la documentación de Snowflake.
Importante
Los datos iceberg de AWS S3 y GCS también deben sincronizarse automáticamente como delta para mantener, gobernar y medir y supervisar la calidad de los datos.
Calidad de los datos de Iceberg
Para todos los usuarios que hidratan de forma nativa los datos de Iceberg en (Parquet, ORC, Avro) en ADLS Gen2 o Fabric Lakehouse, simplemente deben confirir un examen que apunte a la ubicación del directorio que hospeda los directorios iceberg de datos y metadatos. Siga los pasos que se enumeran a continuación:
Configure y ejecute un examen en Mapa de datos de Microsoft Purview.
Configure el directorio (hospedaje de datos y metadatos) como recurso de datos y asócielo al producto de datos. Esto forma el conjunto de datos Iceberg. Asocie los recursos de datos iceberg a un producto de datos en Catálogo unificado de Microsoft Purview. Obtenga información sobre cómo asociar recursos de datos a un producto de datos.
En Catálogo unificado, en Administración de estado, seleccione Vista de calidad de datos para buscar los archivos Iceberg (recurso de datos) y configurar la conexión del origen de datos.
3.1 Para configurar la conexión AdlsG2, siga los pasos descritos en el documento de conexión de DQ.
3.2 Para configurar la conexión de Fabric OneLake, siga los pasos descritos en el documento DQ del patrimonio de datos del tejido.
Aplique reglas de calidad de datos y ejecute exámenes de calidad de datos para la puntuación de calidad de datos de nivel de columna y tabla.
En la página Esquema del archivo Iceberg seleccionado (recurso de datos), seleccione Importar esquema para importar el esquema desde el origen de datos del archivo Iceberg.
Antes de ejecutar el trabajo de generación de perfiles o el trabajo de examen de calidad de datos, vaya a la página Información general del archivo Iceberg y, en el menú desplegable Recurso de datos , seleccione Iceberg.
Generación de perfiles y examen de calidad de datos
Una vez finalizada la configuración de conexión y la selección del formato de archivo de recursos de datos, puede generar perfiles, crear y aplicar reglas y ejecutar un examen de calidad de datos de los datos en archivos de formato abierto de Iceberg. Siga la guía paso a paso que se describe en los documentos siguientes:
- Configuración y ejecución de la generación de perfiles de datos de los datos
- Configuración y ejecución del examen de calidad de datos
Importante
- La compatibilidad con el formato abierto Iceberg en las características de detección de catálogos, conservación, generación de perfiles de datos y análisis de calidad de datos está ahora en versión preliminar.
- Para la generación de perfiles de datos y la evaluación de la calidad de los datos, debe recuperar y establecer el esquema de la página Esquema de calidad de datos.
- Experiencia de detección de consumidores: los consumidores no verán el esquema en la vista de recursos de datos porque data map aún no admite el formato de tabla abierta iceberg. El administrador de calidad de datos podrá importar el esquema desde la página Esquema de calidad de datos.
Limitaciones
La versión actual admite los datos creados en formato Iceberg solo con el catálogo de Apache Hadoop .
Ruta de acceso de Lakehouse y ruta de acceso de ADLS Gen2
- Iceberg Metadata almacena la ruta de acceso completa para los datos y los metadatos. Asegúrese de usar la ruta de acceso completa para ADLS Gen2 y Microsoft Fabric Lakehouse. Además, para la ruta de acceso de Microsoft Fabric Lakehouse durante la escritura, asegúrese de que funciona (WRITES, UPSERTS) con las rutas de acceso de identificador.
abfss://c4dd39bb-77e2-43d3-af10-712845dc2179@onelake.dfs.fabric.microsoft.com/5e8ea953-56fc-49c1-bc8c-0b3498cf1a9c/Files/CustomerData
. - Filesystem como Id y Lakehouse como Id. Las rutas de acceso absolutas y no relativas son necesarias para que Microsoft Purview realice DQ en Iceberg. Para validarlo, asegúrese de comprobar la ruta de acceso de instantáneas para que apunte como rutas de acceso completas de nombre completo (FQN).
Detección de esquemas
- Data Map tiene una limitación en la incapacidad de detectar el esquema Iceberg. Al seleccionar los directorios iceberg en Fabric Lakehouse o ADLS Gen2, no podrá revisar el esquema. Sin embargo, el esquema de captura de DQ puede extraer el esquema del recurso seleccionado.
Recomendaciones
- Si usa snowflake catalog for Iceberg Format, con el almacenamiento VOLUME como ADLS Gen2, AWS S3 o GCP GCS, use el acceso directo de Microsoft Fabric OneLake Table y realice DQ como tabla DELTA. FYI: solo admite Iceberg con formato de archivo Parquet.
- Si usa ADLS for Iceberg Format con el catálogo de Hadoop, examine el directorio directamente y use el motor de DQ como valor predeterminado para el formato Iceberg para DQ. FYI: admite Iceberg con formato de archivo Parquet, ORC, Avro.
- Si usa Snowflake para el formato Iceberg, puede apuntar el almacenamiento VOLUME directamente a la ruta de acceso de Microsoft Fabric Lakehouse y usar OneLake Table para crear una versión compatible con Delta para DQ. FYI: solo admite Iceberg con formato de archivo Parquet.
- Si usa Microsoft Fabric Lakehouse for Iceberg Format con el catálogo de Hadoop, examine el directorio lakehouse directamente y use el motor de DQ como valor predeterminado para el formato Iceberg para DQ. FYI: admite Iceberg con formato de archivo Parquet, ORC, Avro.