Compartir a través de


¿Qué es la federación de catálogos?

Con la federación del catálogo, se accede directamente a la tabla externa en el almacenamiento de objetos. La consulta se ejecuta únicamente utilizando el cómputo de Databricks y, por lo tanto, es más rentable y optimizada en términos de rendimiento. La federación de catálogos se usa para federar a plataformas que tienen servicios de catálogo y admiten formatos de tabla abiertos como metastores externos de Hive, metastores heredados de Databricks Hive, Salesforce Data 360 y Snowflake.

Diagrama de visión general de federación de catálogos

Casos de uso comunes

Entre los casos de uso comunes se incluyen:

  • Como paso en la ruta de migración a Unity Catalog, habilitando la migración incremental sin adaptación de código, con algunas de las cargas de trabajo que siguen usando datos que están registrados en el catálogo externo, mientras que otras se migran.
  • Para proporcionar un modelo híbrido a largo plazo para las organizaciones que deben mantener algunos datos en un catálogo externo junto con sus datos registrados en el Catálogo de Unity.

Información general sobre la federación del catálogo

Con la federación de catálogos, se establece una conexión desde tu espacio de trabajo de Databricks a tu catálogo externo, y Unity Catalog explora el catálogo externo para llenar un catálogo extranjero, a veces denominado catálogo federado. Esto permite a tu organización trabajar con las tablas de catálogos externos en Unity Catalog, proporcionando controles de acceso centralizados, linaje, búsqueda y más.

Los catálogos externos federados que son externos al área de trabajo de Databricks permiten lecturas mediante el catálogo de Unity. Los metastores internos de Hive permiten lecturas y escrituras, actualizando simultáneamente los metadatos del metastore de Hive y los metadatos del catálogo de Unity al modificar los metadatos.

Al consultar tablas externas en un catálogo externo federado, El catálogo de Unity proporciona la capa de gobernanza, realizando funciones como comprobaciones de control de acceso y auditoría, mientras que las consultas se ejecutan mediante la semántica del catálogo externo. Por ejemplo, si un usuario consulta una tabla almacenada en formato Parquet en un catálogo externo:

  • Catálogo de Unity comprueba si el usuario tiene acceso a la tabla e deduce el linaje de la consulta.
  • La propia consulta se ejecuta en el catálogo externo subyacente, aprovechando los metadatos y la información de partición más reciente almacenada allí.

¿Qué son las rutas de acceso autorizadas?

Al crear un catálogo externo respaldado por la federación de metastore de Hive, se le pedirá que proporcione rutas de acceso autorizadas al almacenamiento en la nube donde se almacenan las tablas de metastore de Hive. Todas las tablas a las que quiera acceder mediante la federación de metastore de Hive deben estar cubiertas por estas rutas de acceso. Databricks recomienda que las rutas de acceso autorizadas sean subdirecciones que son comunes en un gran número de tablas. Por ejemplo, si tiene tablas en s3://bucket/table1, s3://bucket/table2y s3://bucket/table3, debe proporcionar s3://bucket/ como ruta de acceso autorizada.

Las rutas de acceso autorizadas agregan una capa adicional de seguridad a los catálogos externos respaldados por la federación de metastore de Hive. Permiten al propietario del catálogo aplicar límites de protección a los datos a los que los usuarios pueden acceder mediante la federación. Esto resulta útil si su metastore de Hive permite a los usuarios actualizar metadatos y modificar arbitrariamente las ubicaciones de la tabla, las actualizaciones que, de lo contrario, se sincronizarían en el catálogo externo. En este escenario, los usuarios podrían redefinir potencialmente las tablas a las que ya tienen acceso para que apunten a nuevas ubicaciones a las que, de lo contrario, no tendrán acceso.

Ejemplo: Metastore de Hive no seguro

En el ejemplo siguiente se muestra cómo un usuario malintencionado podría omitir los permisos del catálogo de Unity y acceder a datos confidenciales en un catálogo federado mediante la manipulación de rutas de acceso en un metastore de Hive no seguro.

Un administrador configura la federación de metastore de Hive y concede a Paul acceso al non_sensitive esquema en el catálogo de Unity. Paul no tiene acceso al sensitive_table esquema en el catálogo de Unity.

Diagrama de acceso a esquemas externos

Aunque unity Catalog es seguro, el metastore de Hive no es seguro. Paul tiene la capacidad de modificar la ruta de la tabla non_sensitive_table en el metastore de Hive a s3://abc/def. En la siguiente actualización del catálogo federado, se actualiza la ruta de acceso de la tabla federada en el catálogo de Unity. Dado que Unity Catalog ya tiene una credencial de almacenamiento para acceder a s3://abc/def, y Paul tiene acceso a SELECT, Paul ahora puede acceder a los datos de la tabla sensitive_table.

Diagrama de metastore de Hive sin seguridad

Para agregar rutas de acceso autorizadas a escala, puede usar las siguientes herramientas:

Orígenes de datos compatibles