Fédération de catalogues Workday Data Connect
Bêta
Cette fonctionnalité est en bêta. Pour l'utiliser, un administrateur du workspace doit activer Workday Data Connect Connector depuis la page Previews . Consultez Gérer les aperçus Databricks.
Utilisez la fédération de catalogues Workday Data Connect pour lire les tables Workday Data Connect directement à partir du stockage cloud et les ajouter à Unity Catalog en tant que tables externes. Les queries s’exécutent entièrement sur le compute Databricks, ce qui permet aux équipes de données de découvrir, de régir et d’interroger ces tables à partir de Databricks sans créer de pipelines ETL. L’accès aux données est en lecture seule.
Databricks s’authentifie auprès du catalogue Workday Data Connect en tant qu’utilisateur du système d’intégration Workday (ISU) que vous enregistrez en tant que principal, à l’aide d’OAuth avec une clé privée.
Workday appelle ce produit Workday Data Lake. La documentation partenaire, y compris cette page, désigne cet élément sous le nom de Workday Data Connect.
Pour en savoir plus sur la fédération de catalogues, consultez la page Qu’est-ce que la fédération de catalogues ?.
Ce connecteur n’ingère ni ne copie de données dans Databricks, et il n’est pas lié aux connecteurs d’ingestion Lakeflow Connect pour Workday. Pour ingérer des données Workday dans Databricks à la place, consultez la rubrique Workday Reports connector ou Workday HCM connector.
Avant de commencer
Examinez les conditions suivantes avant de configurer la fédération de catalogues Workday Data Connect.
Exigences du Workspace :
- Le workspace doit être activé pour Unity Catalog. Voir Se familiariser avec Unity Catalog.
Configuration requise pour le compute :
- Le compute Databricks doit utiliser Databricks Runtime 19.8 ou version supérieure et le mode d’accès standard. Le mode d’accès dédié n’est pas pris en charge.
Exigences en matière de mise en réseau :
- Connectivité réseau de Databricks vers votre endpoint de catalogue Workday Data Connect à l'adresse
https://<workday-host>/api/catalog. Vous n'avez pas besoin d'ajouter les adresses IP de Databricks à la liste verte dans Workday.
Autorisations requises :
- Pour créer une connexion, vous devez être administrateur de métastore ou utilisateur disposant du privilège
CREATE CONNECTIONsur le métastore Unity Catalog associé au Workspace. - Pour créer un catalogue externe, vous devez disposer de l'autorisation
CREATE CATALOGsur le métastore et être le propriétaire de la connexion ou disposer du privilègeCREATE FOREIGN CATALOGsur la connexion.
Exigences Workday :
- Workday Data Connect activé pour votre tenant Workday, avec les tables que vous souhaitez interroger partagées via son catalogue REST Iceberg. Consultez la page Get Started with Workday Data Lake.
- Un utilisateur du système d'intégration Workday (ISU) enregistré en tant que principal sur le catalogue Workday Data Connect, un rôle principal pour cet ISU qui accorde un accès en lecture aux tables partagées, et une paire de clés RSA pour ce principal. Pour enregistrer le client API, consultez Enregistrer le client API pour le data lake (octroi du porteur JWT).
Étape 1 : créer une connexion
Une connexion spécifie l'Endpoint et les identifiants que Databricks utilise pour communiquer avec le catalogue Workday Data Connect.
Pour créer une connexion, utilisez l'Explorateur de catalogue ou la commande CREATE CONNECTION SQL :
- Catalog Explorer
- SQL
Pour créer la connexion :
- Dans votre Workspace Databricks, cliquez sur
Catalog .
- En haut du volet Catalog , cliquez sur l’icône
plus et sélectionnez Create a connection dans le menu.
- Sur la page Bases des connexions, saisissez un nom de connexion.
- Sélectionnez un Connection type défini sur Workday Data Connect .
- Cliquez sur Suivant .
- Sur la page Connection details , saisissez les valeurs suivantes :
- Host : le hostname de votre endpoint Workday Data Connect, par exemple
mycompany.myworkday.com. - Tenant : votre tenant Workday.
- Client ID : identifiant client du client d’API Workday.
- Private key : une clé privée RSA au format PEM.
- Nom du principal : le nom de l'ISU que vous avez enregistré en tant que principal du catalogue.
- Rôle de principal : rôle de principal Workday qui délimite l'accès en lecture aux tables partagées. The default is
ALL. Pour restreindre l'accès, définissez un rôle spécifique, par exempleall-reads-role.
- Host : le hostname de votre endpoint Workday Data Connect, par exemple
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requêtes Databricks SQL :
CREATE CONNECTION <connection-name> TYPE WORKDAY_DATA_CONNECT
OPTIONS (
host '<workday-host>',
tenant '<workday-tenant>',
client_id '<client-id>',
private_key secret('<secret-scope>','<secret-key>'),
principal_name '<isu-name>',
principal_role '<principal-role>'
);
host: le hostname de votre Endpoint Workday Data Connect, par exemplemycompany.myworkday.com.tenant: votre tenant Workday.client_id: identifiant client du client d’API Workday.private_key: une clé privée RSA au format PEM. Databricks vous recommande de le stocker sous forme de secret.principal_name: Le nom de l'ISU que vous avez enregistré en tant que principal du catalogue.principal_role: rôle de principal Workday qui délimite l'accès en lecture aux tables partagées. The default isALL. Pour restreindre l'accès, définissez un rôle spécifique, par exempleall-reads-role.
Databricks recommande d'utiliser des secrets plutôt que des chaînes en texte brut pour les valeurs sensibles telles que la clé privée. Pour plus d'informations sur la création de secrets, consultez la section Gestion des secrets.
Étape 2 : créer un catalogue étranger
Un catalogue étranger reflète le catalogue Workday Data Connect dans Unity Catalog afin de vous permettre d’utiliser Unity Catalog pour gérer l’accès aux tables Workday et les interroger à partir du compute Databricks.
Pour créer un catalogue externe, vous pouvez utiliser l’Explorateur de catalogue ou la commande SQL CREATE FOREIGN CATALOG dans un notebook ou dans l’éditeur de query Databricks SQL.
- Catalog Explorer
- SQL
- Dans votre Workspace Databricks, cliquez sur
Catalog .
- En haut du volet Catalog , cliquez sur l'icône Plus
et sélectionnez Create a catalog dans le menu.
- Dans la boîte de dialogue Create a new catalog , saisissez un nom pour le catalogue.
- Sélectionnez un Type défini sur Foreign .
- Sélectionnez la connexion Connection que vous avez créée à l'étape 1.
- Pour Emplacement du stockage cloud , saisissez le chemin de stockage cloud dans lequel Databricks stocke les métadonnées des tables fédérées.
- Cliquez sur Créer .
Exécutez la commande suivante dans un Notebook ou dans l'éditeur de requêtes Databricks SQL. Les éléments entre crochets sont facultatifs.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name>
USING CONNECTION <connection-name>
OPTIONS (storage_root '<storage-root-path>');
storage_root: obligatoire. Chemin d'accès à un emplacement externe dans lequel Databricks peut écrire. Databricks utilise cet emplacement pour stocker les métadonnées des tables fédérées. Les données de la table Workday ne sont pas copiées vers cet emplacement.
Le catalogue étranger reflète toujours l'intégralité du catalogue Workday Data Connect auquel vos identifiants vous donnent accès. Pour restreindre les éléments visibles, définissez un principal_role qui accorde un accès en lecture uniquement aux tables souhaitées lors de la création de la connexion.
Étape 3 : accorder les autorisations et query le catalogue
Une fois le catalogue étranger créé, les utilisateurs ont besoin des autorisations Unity Catalog appropriées pour accéder aux tables fédérées :
- Tous les utilisateurs ont besoin respectivement des autorisations
USE CATALOGetUSE SCHEMAsur le catalogue et le schéma. - Pour lire à partir d'une table fédérée, les utilisateurs ont besoin de l'autorisation
SELECT.
Pour plus d’informations sur les privilèges Unity Catalog et sur la manière de les accorder, consultez la rubrique Manage privileges in Unity Catalog.
Par exemple, exécutez les commandes suivantes dans un notebook ou dans l'éditeur de query Databricks SQL :
GRANT USE CATALOG ON CATALOG <catalog-name> TO `<principal>`;
GRANT USE SCHEMA ON SCHEMA <catalog-name>.<schema-name> TO `<principal>`;
GRANT SELECT ON TABLE <catalog-name>.<schema-name>.<table-name> TO `<principal>`;
Les utilisateurs disposant de ces autorisations peuvent ensuite query les tables fédérées à l’aide de la notation d’espace de noms à trois niveaux :
SELECT * FROM <catalog-name>.<schema-name>.<table-name>;
Mappage d’espaces de noms
Unity Catalog reflète la hiérarchie des objets Workday Data Connect de la manière suivante :
Objet Workday Data Connect | Objet Unity Catalog |
|---|---|
Catalogue | Catalogue étranger |
Espace de noms | Schéma |
Table | Table étrangère |
Workday Data Connect expose des noms plats à trois niveaux qui correspondent de manière biunivoque à la hiérarchie catalog.schema.table d’Unity Catalog. Il n'y a pas d'imbrication d'espace de noms supplémentaire.
Limitations
La fédération de catalogues Workday Data Connect présente les limitations suivantes :
- Le connecteur peut accéder uniquement aux tables Iceberg partagées via le catalogue Workday Data Connect.
- Les noms de schéma et de table respectent les limitations de nommage standard de Unity Catalog. Databricks ne prend pas en charge les noms contenant un point (
.), un espace () ou une barre oblique (/). Consultez la section Exigences de nommage des objets sécurisables.