Federación de catálogos de Palantir Foundry

Important

Esta característica está en versión preliminar pública.

La federación de catálogos Palantir Foundry permite que Unity Catalogue lea las tablas Iceberg de Palantir Foundry directamente desde almacenamiento en la nube.

Con la federación de catálogos, Unity Catalog accede a las tablas Iceberg de Palantir Foundry en almacenamiento en la nube y la consulta se ejecuta completamente en Azure Databricks compute. Los equipos de datos pueden descubrir, gobernar y consultar datos de Palantir Foundry desde Azure Databricks sin necesidad de construir pipelines ETL. El acceso a datos es de solo lectura.

Antes de empezar

Revisa los siguientes requisitos antes de configurar la federación de catálogos de Palantir Foundry.

Requisitos del área de trabajo:

Requisitos de proceso:

  • Azure Databricks compute debe usar Databricks Runtime 18 o superior.
  • Los almacenes SQL deben ser pro o serverless.
  • No se soportan clústeres dedicados (anteriormente clústeres de usuario único).

Requisitos de red:

Permisos necesarios:

  • Para crear una conexión, debe ser administrador del metastore o usuario con el privilegio CREATE CONNECTION en el metastore de Unity Catalog adjunto al área de trabajo.
  • Para crear un catálogo externo, debes tener el permiso CREATE CATALOG en el metaalmacén. También debes ser dueño de la conexión o tener el CREATE FOREIGN CATALOG privilegio sobre ella.

Requisitos de Palantir Foundry:

  • Las tablas de Palantir Foundry deben ser tablas Iceberg.
  • Una aplicación de terceros de Palantir Foundry para autenticación. Configura la aplicación según el método de autenticación:
    • OAuth de usuario a máquina (U2M):
      • La aplicación debe admitir los ámbitos api:iceberg-read y offline_access.
      • La aplicación debe tener configurada la URL https://<databricks-workspace-url>/login/oauth/lakehousefederation.html de redirección OAuth, donde <databricks-workspace-url> es el nombre de host de tu espacio de trabajo.
      • El usuario que autentica la conexión debe tener acceso a la carpeta raíz federada.
    • OAuth de máquina a máquina (M2M):
      • La aplicación debe ser compatible con la concesión de credenciales de cliente y el api:iceberg-read ámbito.
      • El usuario del servicio detrás de la aplicación debe tener acceso a la carpeta raíz federada.

Paso 1: Crear una conexión

Permisos requeridos: administrador de Metastore o usuario con el CREATE CONNECTION privilegio.

Una conexión especifica una ruta y credenciales para acceder a un sistema externo. Identifica el host de Palantir Foundry y las credenciales para autenticarse, no la carpeta para federar. Seleccionas la carpeta raíz cuando creas el catálogo extranjero en el Paso 2: Crear un catálogo extranjero.

La federación Palantir Foundry soporta dos métodos de autenticación, descritos en las siguientes subsecciones. Ambos requieren una aplicación de terceros de Palantir Foundry.

Note

También puede usar la API REST de Databricks o la CLI de Databricks para crear una conexión. Vea POST/api/2.1/unity-catalog/connections y Comandos de Unity Catalog.

OAuth de usuario a máquina (U2M)

Con OAuth User to Machine (U2M), Unity Catalog accede a Foundry como el usuario que autentica la conexión. Crea esta conexión usando el Explorador de Catálogos. Este método no se puede configurar usando SQL, porque el flujo de inicio de sesión OAuth requiere la interfaz.

  1. En el área de trabajo de Azure Databricks, haga clic en Data icon.Catalog.
  2. En la parte superior del panel Catálogo , haga clic en el icono Agregar o másAgregar y seleccione Crear una conexión en el menú.
  3. En la página Datos básicos de la conexión del asistente para Configurar conexión, escriba un Nombre de conexión fácil de usar.
  4. Selecciona un tipo de conexión de Palantir Foundry y un tipo de autenticación de OAuth User to Machine y, a continuación, haz clic en Siguiente.
  5. En la página Autenticación, introduce el host de tu instancia de Palantir Foundry, por ejemplo your-company.palantirfoundry.com, y completa el proceso de inicio de sesión con OAuth para autorizar la conexión.
  6. (Opcional) Agregue un comentario.
  7. Haga clic en Crear conexión.

OAuth de máquina a máquina (M2M)

Con OAuth Machine to Machine (M2M), Unity Catalog accede a Foundry como el usuario del servicio detrás de la aplicación de terceros, utilizando la concesión de credenciales del cliente. Crea esta conexión usando Catalog Explorer o el CREATE CONNECTION comando SQL en un cuaderno de Azure Databricks o el editor de consultas SQL de Databricks.

Explorador de catálogos

  1. En el área de trabajo de Azure Databricks, haga clic en Data icon.Catalog.
  2. En la parte superior del panel Catálogo , haga clic en el icono Agregar o másAgregar y seleccione Crear una conexión en el menú.
  3. En la página Datos básicos de la conexión del asistente para Configurar conexión, escriba un Nombre de conexión fácil de usar.
  4. Selecciona un tipo de conexión de Palantir Foundry y un tipo de autenticación de OAuth Máquina a Máquina, luego haz clic en Siguiente.
  5. En la página Autenticación , escriba lo siguiente:
    • Host: El nombre de host de tu instancia de Palantir Foundry, por ejemplo, your-company.palantirfoundry.com
    • ID de cliente: El ID de cliente de tu aplicación de terceros Palantir Foundry.
    • Secreto del cliente: El secreto del cliente de tu aplicación de terceros Palantir Foundry.
  6. (Opcional) Agregue un comentario.
  7. Haga clic en Crear conexión.

SQL

Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL. Reemplace los valores de marcador de posición:

  • <connection-name>: Nombre para la conexión en Azure Databricks.
  • <palantir-host>: El nombre de host de tu instancia de Palantir Foundry, por ejemplo, your-company.palantirfoundry.com.
  • <client-id>: El ID del cliente de tu aplicación de terceros Palantir Foundry.
  • <secret-scope> y <secret-key>: El ámbito secreto y la clave que almacenan el secreto de cliente de su aplicación de terceros de Palantir Foundry.
CREATE CONNECTION <connection-name> TYPE PALANTIR
OPTIONS (
  host '<palantir-host>',
  client_id '<client-id>',
  client_secret secret('<secret-scope>','<secret-key>')
);

Databricks recomienda usar secretos en lugar de cadenas de texto plano para valores sensibles como el secreto cliente. Para obtener más información sobre la configuración de secretos, consulte Administración de secretos.

Paso 2: Crear un catálogo extranjero

Permisos necesarios: permiso CREATE CATALOG en el metastore y, o bien la propiedad de la conexión, o bien el privilegio CREATE FOREIGN CATALOG sobre la conexión.

Un catálogo extranjero refleja tu carpeta raíz de Palantir Foundry para que puedas consultar y gestionar el acceso a sus tablas usando Azure Databricks y Unity Catalog. Para crear un catálogo extranjero, utiliza la conexión que creaste en el Paso 1: Crear una conexión.

Crea un catálogo extranjero usando Catalog Explorer o el CREATE FOREIGN CATALOG comando SQL en un cuaderno de Azure Databricks o el editor de consultas SQL de Databricks.

Explorador de catálogos

  1. En el área de trabajo de Azure Databricks, haga clic en Data icon.Catalog para abrir el Explorador de catálogos.
  2. En la parte superior del panel Catálogo, haga clic en el icono Icono agregar o másAgregar y seleccione Agregar un catálogo en el menú.
  3. Escriba un nombre de catálogo y seleccione un tipo de catálogoextranjero.
  4. Selecciona la Conexión que creaste en el Paso 1: Crear una conexión desde el menú desplegable.
  5. Para Carpeta raíz, introduzca la carpeta de Palantir Foundry en la que Unity Catalog busca esquemas y tablas que se van a federar, por ejemplo, /space-name/project-name/folder-name. Consulte Asignación de la carpeta raíz y el espacio de nombres.
  6. En el campo de ubicación de almacenamiento , especifica una ubicación de almacenamiento en la nube escribible que almacene metadatos para las tablas Iceberg de este catálogo. La cuenta de servicio gestionado por Azure Databricks debe tener acceso de lectura y escritura al mismo. Esta ubicación puede ser cualquier cubo de almacenamiento y no necesita estar relacionado con los cubos de mesa.
  7. Haga clic en Crear catálogo.
  8. Asigna acceso al espacio de trabajo, un propietario y privilegios según se indique.

SQL

Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL. Los elementos entre corchetes son opcionales. Reemplace los valores de marcador de posición:

  • <catalog-name>: nombre del catálogo en Azure Databricks.
  • <connection-name>: El nombre de la conexión que creaste en el Paso 1: Crear una conexión.
  • <root-folder>: La carpeta de Palantir Foundry en la que Unity Catalog busca los esquemas y las tablas que va a federar, por ejemplo /space-name/project-name/folder-name. Consulte Asignación de la carpeta raíz y el espacio de nombres.
  • <storage-location>: Una ubicación de almacenamiento en la nube con permisos de escritura que almacena los metadatos de las tablas de Iceberg en este catálogo. La cuenta de servicio gestionada por Azure Databricks debe tener acceso de lectura y escritura al mismo. Esta ubicación puede ser cualquier cubo de almacenamiento y no necesita estar relacionado con los cubos de mesa.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name>
USING CONNECTION <connection-name>
OPTIONS (
  root_folder '<root-folder>',
  storage_root '<storage-location>'
);

Unity Catalog detecta las carpetas y tablas bajo la carpeta raíz:

  • Las subcarpetas de Palantir Foundry se convierten en esquemas de Unity Catalog.
  • Las tablas Iceberg de Palantir Foundry se convierten en tablas externas de Unity Catalog.

Paso 3: Conceder permisos y consultar el catálogo

Después de configurar la federación de catálogos, los usuarios deben tener los permisos apropiados de Unity Catalog para acceder a tablas federadas:

  • Todos los usuarios necesitan USE CATALOG y USE SCHEMA permisos en el catálogo y el esquema, respectivamente.
  • Para leer desde una tabla federada, los usuarios necesitan el SELECT permiso.

Para obtener más información sobre los privilegios del catálogo de Unity y cómo concederlos, consulte Administrar privilegios en el catálogo de Unity.

Después de conceder permisos, los usuarios pueden consultar las tablas extranjeras de Azure Databricks:

SELECT * FROM <catalog-name>.<schema>.<table>;

Asignación de carpeta raíz y espacio de nombres

Cuando creas un catálogo extranjero, especificas una carpeta Palantir Foundry (por ejemplo /space-name/project-name/folder-name) como raíz de federación. El Catálogo de Unity asigna sus subcarpetas a esquemas externos y las tablas Iceberg en esas subcarpetas se convierten en tablas extranjeras en el Catálogo de Unity. Esto mapea la jerarquía más profunda de la fundición en una estructura consistente de tres niveles.

Por ejemplo, si federas la carpeta raíz /sales/orders:

Palantir Foundry object                       Unity Catalog object
────────────────────────────────────────────  ──────────────────────────────────────────────────
sales                    (Foundry Space)
└── orders               (Foundry Project)    <foreign-catalog>                        (Catalog)
    └── shipments        (Foundry Folder)     <foreign-catalog>.shipments              (Schema)
        └── line_items   (Iceberg Table)      <foreign-catalog>.shipments.line_items   (Table)

La carpeta que federas se convierte en el catálogo, cada subcarpeta en un esquema y cada tabla Iceberg en una tabla extranjera.

Limitations

La federación de catálogos Palantir Foundry tiene las siguientes limitaciones:

  • La federación Palantir Foundry solo puede acceder a las tablas Iceberg. No se admiten vistas.
  • No se admite conectividad privada al catálogo de Palantir Foundry.
  • Los nombres de esquema y tabla siguen las restricciones de nomenclatura estándar de Unity Catalog. Azure Databricks no admite nombres que contengan un punto (.), espacio ( ) o barra diagonal (/). Consulte Requisitos de nomenclatura de objetos protegibles.
  • Una carpeta raíz que es una carpeta de un solo nivel en Foundry (una carpeta que contiene solo tablas y no subcarpetas para mapear a esquemas) no presenta esquemas ni tablas. La federación requiere al menos un nivel de subcarpetas para asignarlas a los esquemas de Unity Catalog.

Véase Limitaciones para limitaciones relacionadas con el iceberg.

Troubleshooting

La siguiente sección describe los errores comunes y sus soluciones.

Failed to create request URI o carpeta raíz inválida

  • La root_folder opción no coincide con la ruta de carpeta en tu instancia de Palantir Foundry. Verifica la ruta.

La autenticación falló al crear la conexión

Las credenciales de aplicaciones de terceros de Palantir Foundry no son válidas, o la identidad autenticante no tiene acceso a la carpeta raíz federada. Confirma el ID del cliente y el secreto (para OAuth M2M) o vuelve a autenticar (para OAuth U2M), y verifica que la identidad tenga permiso en la carpeta raíz. Consulte Antes de empezar.