Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En esta página se describe cómo usar el catálogo de Unity para obtener información sobre los proveedores de datos que comparten datos con usted mediante Delta Sharing. También describe qué es un objeto de proveedor y cuándo podría necesitar crear un objeto de proveedor en su metastore de Unity Catalog, una tarea que la mayoría de los destinatarios nunca deberían tener que hacer.
Importante
Los destinatarios de datos deben tener acceso a un área de trabajo de Databricks habilitada para que el Catálogo de Unity use las funcionalidades descritas. Esta página no se aplica a los destinatarios que no tienen áreas de trabajo habilitadas para el catálogo de Unity.
¿Los destinatarios necesitan crear objetos de proveedor?
En Delta Sharing en Databricks, el término "proveedor" puede significar tanto la organización que comparte datos con usted como un objeto protegible en el metastore de catálogo de Unity de un destinatario que representa esa organización. La existencia de ese objeto protegible en el metastore del catálogo de Unity de un destinatario permite a los destinatarios administrar el acceso de su equipo a los datos compartidos mediante el Catálogo de Unity.
Como destinatario con acceso a un metastore de Unity Catalog, normalmente no es necesita crear objetos de proveedor. Esto se debe a que los datos se deben compartir con usted mediante Uso compartido de Databricks-a-Databricks y los objetos de proveedor se crean automáticamente en el metastore de catálogo de Unity.
Nota
Si recibe datos de un proveedor que no comparte desde un área de trabajo de Databricks habilitada para el catálogo de Unity, puede usar el Explorador de catálogos para importar el archivo de credenciales del proveedor. Consulte Azure Databricks: Lectura de datos compartidos mediante conectores de uso compartido abierto.
Antes de empezar
Para administrar proveedores en el área de trabajo de Azure Databricks:
- Su área de trabajo debe estar habilitada para Unity Catalog.
- Para ver un proveedor, debe ser un administrador de metastore o un administrador de metastore debe concederle el privilegio
USE PROVIDER. - Para crear un proveedor, debe ser un administrador de metastore o un administrador de metastore debe concederle el privilegio
CREATE PROVIDER. - Para actualizar un proveedor, debe ser el propietario del objeto de proveedor y tener el privilegio
CREATE PROVIDER. Para más información, consulte Actualizar un proveedor (cambiar el nombre, cambiar el propietario, comentar).
Por este motivo, si el área de trabajo se creó sin un administrador de metastore, un administrador de la cuenta de Azure Databricks debe conceder a un usuario o grupo el rol de administrador de metastore para poder trabajar con objetos de proveedor en Azure Databricks. Consulte Habilitación automática de Unity Catalog y (opcional) Asignación del rol de administrador de metastore.
Visualización de proveedores
Para ver una lista de proveedores de datos disponibles, puede usar Catalog Explorer, la CLI de Unity Catalog de Databricks o el comando SQL SHOW PROVIDERS en un cuaderno de Azure Databricks o el editor de consultas de Databricks SQL.
Permisos necesarios: debe tener el USE PROVIDER privilegio de ver todos los proveedores en el metastore. Otros usuarios solo tienen acceso a los proveedores que poseen.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en
Catálogo.
En la parte superior del panel Catálogo, haga clic en el
y seleccione Delta Sharing.
Como alternativa, en la esquina superior derecha, haga clic en Compartir > Delta Sharing.
En la pestaña Compartido conmigo , vea todos los datos compartidos con su organización. Para cada recurso compartido, se proporcionan los detalles siguientes:
- Nombre: Nombre de la organización, tal y como especifica el proveedor.
- Tipo de autenticación: Método de uso compartido usado por el proveedor.
- Dueño: Nombre o correo electrónico del proveedor.
- Creado en: Fecha y hora de creación del recurso compartido.
- Descripción: Descripción del elemento compartido.
SQL
Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL. Opcionalmente, sustituya <pattern> con un LIKE predicado.
SHOW PROVIDERS [LIKE <pattern>];
Para obtener más información sobre SHOW PROVIDERS, vea SHOW PROVIDERS.
Interfaz de línea de comandos (CLI)
Ejecute el siguiente comando mediante la CLI de Databricks.
databricks providers list
Ver detalles del proveedor
Para ver detalles sobre un proveedor, puede usar Catalog Explorer, la CLI de Unity Catalog de Databricks o el comando SQL DESCRIBE PROVIDER en un cuaderno de Azure Databricks o el editor de consultas de Databricks SQL.
Permisos necesarios: administrador de metastore, usuario con el privilegio USE PROVIDER o el propietario del objeto proveedor.
Los detalles incluyen:
- Acciones compartidas por el proveedor (consulte Ver las acciones que un proveedor ha compartido con usted).
- El creador del proveedor, la marca de tiempo de creación, los comentarios y el tipo de autenticación (
TOKENoDATABRICKS).TOKENrepresenta a los proveedores que han compartido datos con usted mediante el protocolo abierto de compartición Delta Sharing.DATABRICKSrepresenta a los proveedores que han compartido datos con usted usando el protocolo de compartición Databricks-to-Databricks. - Si el proveedor usa Databricks-to-Databricks: la nube, la región y el ID del metastore Unity Catalog del proveedor.
- Si el proveedor utiliza el uso compartido abierto: el punto de conexión de su perfil de destinatario, que es el lugar donde se aloja el servidor de uso compartido de Delta Sharing.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en
Catálogo.
En la parte superior del panel Catálogo, haga clic en el
y seleccione Delta Sharing.
Como alternativa, en la esquina superior derecha, haga clic en Compartir > Delta Sharing.
En la pestaña Compartidos conmigo, busque el proveedor y selecciónelo.
SQL
Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL.
DESC PROVIDER <provider-name>;
Para obtener más información sobre DESC PROVIDER, vea DESCRIBE PROVIDER.
Interfaz de línea de comandos (CLI)
Ejecute el siguiente comando mediante la CLI de Databricks.
databricks providers get <provider-name>
Visualización de los recursos compartidos que un proveedor ha compartido con usted
Para ver los recursos compartidos que un proveedor ha compartido con usted, puede usar Catalog Explorer, la CLI de Unity Catalog de Databricks o el comando SQL SHOW SHARES IN PROVIDER en un cuaderno de Azure Databricks o el editor de consultas de Databricks SQL.
Permisos necesarios: administrador de metastore, usuario con el privilegio USE PROVIDER o el propietario del objeto proveedor.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en
Catálogo.
En la parte superior del panel Catálogo, haga clic en el
y seleccione Delta Sharing.
Como alternativa, en la esquina superior derecha, haga clic en Compartir > Delta Sharing.
En la pestaña Compartidos conmigo, busque el proveedor y selecciónelo.
SQL
Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL. Opcionalmente, sustituya <pattern> con un LIKE predicado.
SHOW SHARES IN PROVIDER [LIKE <pattern>];
Para obtener más información sobre SHOW SHARES IN PROVIDER, vea SHOW SHARES IN PROVIDER.
Interfaz de línea de comandos (CLI)
Ejecute el siguiente comando mediante la CLI de Databricks.
databricks providers list-shares <provider-name>
Actualizar un proveedor (cambiar el nombre, cambiar propietario, comentar)
Puede usar Catalog Explorer, la CLI de Unity Catalog de Databricks o el comando SQL ALTER PROVIDER en un cuaderno Azure Databricks o el editor de consultas de Databricks SQL para modificar el objeto proveedor en su metastore de Unity Catalog:
- Cambie el nombre del proveedor para modificar la forma en que los usuarios consultan el objeto de proveedor en sus interfaces de Databricks.
- Cambie el propietario del objeto de proveedor.
- Añada o modifique comentarios.
Permisos necesarios: debe ser el propietario del objeto proveedor para poder actualizar el propietario. Debe ser administrador del metastore (o usuario con el privilegio CREATE PROVIDER) y propietario del proveedor para actualizar el nombre del proveedor. Debe ser el propietario para actualizar el comentario. El propietario inicial es el administrador del metastore.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en
Catálogo.
En la parte superior del panel Catálogo, haga clic en el
y seleccione Delta Sharing.
Como alternativa, en la esquina superior derecha, haga clic en Compartir > Delta Sharing.
En la pestaña Compartidos conmigo, busque el proveedor y selecciónelo.
En la página de detalles, actualice el propietario, el comentario o el nombre del proveedor.
Para cambiar el nombre de un proveedor, haga clic en el
Menú kebab y seleccione Cambiar nombre.
SQL
Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL.
ALTER PROVIDER <provider-name> RENAME TO <new-provider-name>
OWNER TO <new-owner>
COMMENT "<comment>";
Para obtener más información sobre ALTER PROVIDER, vea ALTER PROVIDER.
Interfaz de línea de comandos (CLI)
Ejecute el siguiente comando mediante la CLI de Databricks. Reemplace <provider-name> por el nombre del proveedor actual y <new-provider-name> por el nuevo nombre.
databricks providers update <provider-name> /
--new-name <new-provider-name> /
--comment "<new comment>" /
--owner <new-owner-name>
Rotación de credenciales para destinatarios abiertos
Esta sección se aplica a los objetos de proveedor con el tipo TOKENde autenticación , OAUTH_CLIENT_CREDENTIALSo OIDC_FEDERATION. Los proveedores de Databricks a Databricks (tipo DATABRICKSde autenticación) giran automáticamente. Si accede a datos sin un objeto de proveedor, por ejemplo, mediante el conector de delta-sharing Python o Spark, aplique el nuevo archivo de credenciales en la configuración del conector. Consulte Read data shared using Delta Sharing open sharing with bearer tokens (Leer datos compartidos mediante el uso compartido de Delta Sharing) con tokens de portador.
Un proveedor que use el protocolo de uso compartido abierto puede rotar el token de portador y enviarle un nuevo archivo de credenciales. Cuando esto suceda, use la API REST de Databricks para actualizar el objeto de proveedor. No elimine ni vuelva a crear el proveedor para aplicar a una nueva credencial. Los catálogos se enlazan al identificador interno del proveedor, no al nombre. Volver a crear un proveedor con el mismo nombre interrumpe la conexión del catálogo a los datos compartidos.
ALTER PROVIDER, la CLI de Databricks y el Explorador de catálogos no admiten la actualización de las credenciales del proveedor.
Actualización de la credencial
Envíe una PATCH solicitud al punto de conexión del proveedor con el contenido del nuevo archivo de credenciales en el recipient_profile_str campo .
Permisos necesarios: propietario del objeto de proveedor o administrador de metastore.
Python
Ejecute lo siguiente desde un cuaderno en el área de trabajo del destinatario. Reemplace <provider-name> por el nombre del objeto de proveedor en el metastore y actualice new_profile por los valores del nuevo archivo de credenciales.
import json
import requests
new_profile = {
"shareCredentialsVersion": 1,
"bearerToken": "<new-bearer-token>",
"endpoint": "https://<provider-workspace>.cloud.databricks.com/api/2.0/delta-sharing/metastores/<metastore-id>",
}
token = (
dbutils.notebook.entry_point.getDbutils()
.notebook()
.getContext()
.apiToken()
.get()
)
workspace_url = spark.conf.get("spark.databricks.workspaceUrl")
response = requests.patch(
f"https://{workspace_url}/api/2.1/unity-catalog/providers/<provider-name>",
headers={
"Authorization": f"Bearer {token}",
"Content-Type": "application/json",
},
json={"recipient_profile_str": json.dumps(new_profile)},
)
print(response.status_code)
print(response.json())
curl
curl --request PATCH \
--header "Authorization: Bearer $DATABRICKS_TOKEN" \
--header "Content-Type: application/json" \
--url "https://<databricks-instance>/api/2.1/unity-catalog/providers/<provider-name>" \
--data '{
"recipient_profile_str": "<contents of the new credential file>"
}'
Una rotación correcta devuelve la siguiente respuesta con los metadatos actualizados del proveedor.
{
"name": "<provider-name>",
"authentication_type": "TOKEN",
"owner": "user@example.com",
"recipient_profile": {
"share_credentials_version": 1,
"endpoint": "https://<provider-workspace>.cloud.databricks.com/api/2.0/delta-sharing/metastores/<metastore-id>"
},
"updated_at": 1775804332820,
"updated_by": "user@example.com",
"id": "abcd2a5b-c18e-46eb-ae11-3056cfe99bef"
}
Para más información, consulte Actualización de una API REST de proveedor .
Comprobación de la rotación
Confirme que el catálogo, los esquemas y las tablas siguen siendo accesibles. El nombre del catálogo debe ser el mismo que antes de la rotación.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en
Catálogo.
En la parte superior del panel Catálogo, haga clic en el
y seleccione Delta Sharing.
Como alternativa, en la esquina superior derecha, haga clic en Compartir > Delta Sharing.
En la pestaña Compartido conmigo , busque su proveedor.
Los banners de error anteriores deberían haberse eliminado y los recursos compartidos deberían volver a aparecer. El catálogo enumerado debe ser el mismo que antes.
SQL
Ejecute el siguiente código SQL en un cuaderno o en el editor de consultas SQL de Databricks.
-- The catalog name should match what it was before rotation
SHOW CATALOGS;
-- Schemas in the shared catalog should still appear
SHOW SCHEMAS IN <catalog-name>;
-- Tables should still appear
SHOW TABLES IN <catalog-name>.<schema-name>;
-- A read from a shared table should return data
SELECT * FROM <catalog-name>.<schema-name>.<table-name> LIMIT 10;
Si las consultas se realizan correctamente, la rotación se completa y todas las consultas, trabajos y paneles existentes siguen funcionando.
Solución de problemas
| Error | Corregir |
|---|---|
Resultado de la solicitud 403 Forbidden |
Debe ser el propietario del proveedor o un administrador de metastore para rotar las credenciales. Pida a un administrador de metastore que aplique la rotación o transfiera la propiedad. Consulte Actualización de recursos compartidos. |
Devolución de solicitud 404 Not Found |
El nombre del proveedor es incorrecto. Ejecute SHOW PROVIDERS para enumerar los nombres exactos de su metastore. |
La solicitud devuelve 400 Bad Request con el mensaje "No se puede actualizar el perfil de destinatario" |
La API actualiza las credenciales solo para TOKEN, OAUTH_CLIENT_CREDENTIALS y OIDC_FEDERATION. Para el uso compartido de Databricks a Databricks, las credenciales se rotan automáticamente. |
Las consultas devuelven TABLE_OR_VIEW_NOT_FOUND |
Es posible que el nombre del catálogo sea incorrecto o que se interrumpa el enlace de catálogo a proveedor. Ejecute SHOW CATALOGS y SHOW SCHEMAS IN <catalog-name> para confirmar que el catálogo existe. |
El Explorador de catálogos muestra datos obsoletos o errores después de una operación correcta PATCH. |
Está viendo los resultados almacenados en caché antes de la rotación. Actualice la página o espere unos minutos. |
Eliminar un proveedor
Para eliminar un proveedor, puede usar el Explorador de catálogos, la CLI de Databricks o el comando /DROP PROVIDER SQL en un cuaderno de Azure Databricks o en el editor de consultas SQL de Databricks. Debe ser el propietario del objeto de proveedor para eliminar el proveedor.
Al eliminar un proveedor, usted y los usuarios de su organización (el destinatario) ya no pueden acceder a los datos compartidos por el proveedor.
Permisos necesarios: propietario del objeto proveedor.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en
Catálogo.
En la parte superior del panel Catálogo, haga clic en el
y seleccione Delta Sharing.
Como alternativa, en la esquina superior derecha, haga clic en Compartir > Delta Sharing.
En la pestaña Compartidos conmigo, busque el proveedor y selecciónelo.
Haga clic en el
Menú kebab y seleccione Eliminar.
En el cuadro de diálogo de confirmación, haga clic en Eliminar.
SQL
Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL.
DROP PROVIDER [IF EXISTS] <provider-name>;
Para obtener más información sobre DROP PROVIDER, vea DROP PROVIDER.
Interfaz de línea de comandos (CLI)
Ejecute el siguiente comando mediante la CLI de Databricks.
databricks providers delete <provider-name>
Si la operación se realiza correctamente, no se devuelve ningún resultado.