Knowledge Catalog (anciennement Dataplex Universal Catalog) fournit des modèles basés sur Dataflow pour effectuer des tâches courantes de traitement des données, telles que l'ingestion, le traitement et la gestion du cycle de vie des données. Ce guide explique comment configurer et exécuter des modèles de traitement des données.
Avant de commencer
Les modèles Knowledge Catalog sont basés sur Dataflow. Avant d'utiliser des modèles, activez les API Dataflow.
Veuillez noter les points suivants :
Tous les modèles sont compatibles avec les options de pipeline Dataflow courantes .
Knowledge Catalog utilise des pipelines de données pour planifier les tâches définies par les modèles.
Vous ne pouvez voir que les tâches que vous planifiez via Knowledge Catalog dans la Google Cloud console, sur la page Knowledge Catalog.
Modèle : Convertir des données brutes en données préparées
Le modèle de conversion de format de fichier Knowledge Catalog convertit les données d'un élément Cloud Storage Knowledge Catalog ou d'une liste d'entités Knowledge Catalog stockées aux formats CSV ou JSON au format Parquet ou Avro dans un autre élément Knowledge Catalog. La mise en page de la partition est conservée lors de la conversion. Il est également compatible avec la compression des fichiers de sortie.
Paramètres de modèle
| Paramètre | Description |
|---|---|
inputAssetOrEntitiesList |
Élément Knowledge Catalog ou entités Knowledge Catalog qui
contiennent les fichiers d'entrée. Ce paramètre doit respecter le format suivant :
projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>
ou projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/entities/<entity1-name>,projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/entities/<entity 2 name>... |
outputFileFormat |
Format du fichier de sortie dans Cloud Storage. Ce paramètre doit
respecter le format suivant : PARQUET ou AVRO. |
outputAsset |
Nom de l'élément Knowledge Catalog contenant le
bucket Cloud Storage dans lequel les fichiers de sortie seront stockés. Ce
paramètre doit respecter le format suivant : projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>. Vous trouverez le
outputAsset dans la Google Cloud console, dans l'onglet
Details de l'élément Knowledge Catalog. |
outputFileCompression |
Facultatif : compression du fichier de sortie. La valeur par défaut pour ce
paramètre est SNAPPY. Les autres valeurs possibles pour ce paramètre sont
UNCOMPRESSED, SNAPPY, GZIP ou
BZIP2. BZIP2 n'est pas compatible avec les fichiers
PARQUET. |
writeDisposition |
Facultatif : spécifie l'action qui se produit si un fichier de destination
existe déjà. La valeur par défaut pour ce paramètre est SKIP,
ce qui indique de ne traiter que les fichiers qui n'existent pas dans le
répertoire de destination. Les autres valeurs possibles pour ce paramètre sont
OVERWRITE (remplacer tous les fichiers existants) ou FAIL
(ne rien traiter et générer une erreur si au moins un fichier de destination
existe déjà). |
updateDataplexMetadata |
Facultatif : indique s'il faut mettre à jour les métadonnées Knowledge Catalog pour les
entités nouvellement créées. La valeur par défaut pour ce paramètre est
Si cette option est activée, le pipeline copie automatiquement le schéma de la source vers les entités Knowledge Catalog de destination, et la détection automatisée Knowledge Catalog ne s'exécute pas pour ces entités. Utilisez cet indicateur si le schéma des données sources (brutes) est géré par Knowledge Catalog. |
Exécuter le modèle
Console
Dans la Google Cloud console, accédez à la page Traiter de Knowledge Catalog.
Cliquez sur Créer une tâche.
Sous Convertir dans des formats préparés, cliquez sur Créer une tâche.
Choisissez un lac Knowledge Catalog.
Indiquez un nom de tâche.
Choisissez une région pour l'exécution de la tâche.
Renseignez les paramètres requis.
Cliquez sur Continuer.
gcloud
Dans le shell ou le terminal, exécutez le modèle :
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_File_Format_Conversion_Preview \ --parameters \ inputAssetOrEntitiesList=INPUT_ASSET_OR_ENTITIES_LIST,\ outputFileFormat=OUTPUT_FILE_FORMAT,\ outputAsset=OUTPUT_ASSET
Remplacez les éléments suivants :
JOB_NAME: a job name of your choice PROJECT_ID: your template project ID REGION_NAME: region in which to run the job INPUT_ASSET_OR_ENTITIES_LIST: path to your JDBC drivers OUTPUT_FILE_FORMAT: your output file format in Cloud Storage OUTPUT_ASSET: your Knowledge Catalog output asset ID
REST
Envoyez une requête POST HTTP :
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION_NAME/flexTemplates:launch
{
"launch_parameter": {
"jobName": "JOB_NAME",
"parameters": {
"inputAssetOrEntitiesList": "INPUT_ASSET_OR_ENTITIES_LIST",
"outputFileFormat": "OUTPUT_FILE_FORMAT",
"outputAsset": "OUTPUT_ASSET",
},
"containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_File_Format_Conversion_Preview",
}
}
Remplacez les éléments suivants :
PROJECT_ID: your template project ID REGION_NAME: region in which to run the job JOB_NAME: a job name of your choice INPUT_ASSET_OR_ENTITIES_LIST: path to your JDBC drivers OUTPUT_FILE_FORMAT: your output file format in Cloud Storage OUTPUT_ASSET: your Knowledge Catalog output asset ID
Modèle : Transférer des données d'un élément BigQuery vers un élément Cloud Storage
Le modèle Knowledge Catalog BigQuery vers Cloud Storage copie les données d'un élément BigQuery Knowledge Catalog vers un élément Cloud Storage Knowledge Catalog dans une mise en page et un format compatibles avec Knowledge Catalog. Vous pouvez spécifier un ensemble de données BigQuery ou une liste de tables BigQuery à copier. Pour plus de flexibilité, le modèle permet de copier les données antérieures à une date de modification spécifiée et de supprimer éventuellement les données de BigQuery après une copie réussie.
Lorsque vous copiez des tables partitionnées de BigQuery vers Cloud Storage :
- Le modèle crée des partitions de style Hive sur le bucket Cloud Storage.
La clé de partition de style Hive ne peut pas être identique à une colonne existante dans BigQuery. Vous pouvez utiliser l'option
enforceSamePartitionKeypour créer une clé de partition ou conserver la même clé de partition, mais renommer la colonne existante. - Knowledge Catalog Discovery enregistre le type de partition en tant que
stringlors de la création d'une table BigQuery (et d'une table dans Dataproc Metastore). Cela peut affecter vos filtres de partition existants.
Le nombre de tables et de partitions pouvant être transformées en une seule exécution de modèle est limité à environ 300. Le nombre exact dépend de la longueur des noms de table et d'autres facteurs.
Paramètres de modèle
| Paramètre | Description |
|---|---|
sourceBigQueryDataset |
Ensemble de données BigQuery à partir duquel transférer les données. Ce paramètre
doit contenir un nom d'élément Knowledge Catalog au format
projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>
ou un ID d'ensemble de données BigQuery au format
projects/<name>/datasets/<dataset-id>. |
destinationStorageBucketAssetName |
Nom de l'élément Knowledge Catalog pour le bucket Cloud Storage vers lequel transférer les données. Ce paramètre doit respecter le format suivant :
projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>. |
tables |
Facultatif : liste de tables BigQuery à transférer, séparées par une virgule. Si aucune liste n'est fournie, toutes les tables sont transférées. Les tables doivent être spécifiées uniquement par leur nom (sans préfixe de projet ni d'ensemble de données) et sont sensibles à la casse. |
exportDataModifiedBeforeDateTime |
Facultatif : utilisez ce paramètre pour déplacer les données antérieures à cette date (et
heure facultative). Pour les tables BigQuery partitionnées, déplacez
les partitions modifiées pour la dernière fois avant cette date/heure. Pour les tables non partitionnées, déplacez-les si elles ont été modifiées pour la dernière fois avant cette date/heure. Si ce paramètre n'est pas
spécifié, toutes les tables/partitions sont déplacées. La date/l'heure sont analysées dans le
fuseau horaire par défaut, mais les suffixes facultatifs Z et
+HH:mm sont acceptés. Ce paramètre doit respecter le format suivant :
YYYY-MM-DD ou YYYY-MM-DDTHH:mm:ss ou
YYYY-MM-DDTHH:mm:ss+03:00.
La date/l'heure relatives
sont également acceptées et doivent respecter le format
-PnDTnHnMn.nS (doit commencer par -P, ce qui
indique une heure dans le passé).
|
fileFormat |
Facultatif : format du fichier de sortie dans Cloud Storage. La valeur par défaut
pour ce paramètre est PARQUET. Une autre valeur possible pour ce paramètre est AVRO. |
fileCompression |
Facultatif : compression du fichier de sortie. La valeur par défaut pour ce
paramètre est SNAPPY. Les autres valeurs possibles pour ce paramètre sont
UNCOMPRESSED, SNAPPY, GZIP ou
BZIP2. BZIP2 n'est pas compatible avec les fichiers
PARQUET. |
deleteSourceData |
Facultatif : indique s'il faut supprimer les données sources de BigQuery
après une exportation réussie. Les valeurs peuvent être true ou
false. La valeur par défaut pour ce paramètre est
false. |
partitionIdRegExp |
Facultatif : ne traiter que les partitions dont l'ID de partition correspond à cette expression régulière. Si aucune valeur n'est fournie, ce paramètre est défini par défaut sur "tout traiter". |
writeDisposition |
Facultatif : spécifie l'action qui se produit si un fichier de destination
existe déjà, ce qui signifie qu'une ou plusieurs tables/partitions ont déjà été
pré-transférées. La valeur par défaut pour ce paramètre est SKIP,
ce qui indique de ne traiter que les tables/partitions qui n'ont pas
déjà été pré-transférées. Les autres valeurs possibles pour ce paramètre sont
OVERWRITE (remplacer tous les fichiers existants) ou FAIL
(ne rien traiter et générer une erreur si au moins un fichier de destination
existe déjà). |
enforceSamePartitionKey |
Facultatif : indique s'il faut appliquer la même clé de partition. En raison d'une limitation de BigQuery, la clé de partition (dans le chemin d'accès au fichier) d'une table externe partitionnée ne peut pas avoir le même nom que l'une des colonnes du fichier. Si ce paramètre est défini sur "true" (valeur par défaut), la clé de partition du fichier cible est définie sur le nom de colonne de partition d'origine, et la colonne du fichier est renommée. Si la valeur est "false", la clé de partition est renommée. Par exemple, si la table d'origine est partitionnée sur une colonne nommée
Si |
updateDataplexMetadata |
Facultatif : indique s'il faut mettre à jour les métadonnées Knowledge Catalog pour les
entités nouvellement créées. La valeur par défaut pour ce paramètre est
Si cette option est activée, le pipeline copie automatiquement le schéma de la source vers les entités Dataplex de destination, et la détection automatisée Knowledge Catalog ne s'exécute pas pour ces entités. Utilisez cet indicateur si vous gérez le schéma des tables BigQuery sources. |
Exécuter le modèle
Console
Dans la Google Cloud console, accédez à la page Traiter de Knowledge Catalog.
Cliquez sur Créer une tâche.
Sous Transférer d'un élément BQ vers un élément GCS, cliquez sur Créer une tâche.
Choisissez un lac Knowledge Catalog.
Indiquez un nom de tâche.
Choisissez une région pour l'exécution de la tâche.
Renseignez les paramètres requis.
Cliquez sur Continuer.
gcloud
Dans le shell ou le terminal, exécutez le modèle :
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_BigQuery_to_GCS_Preview \ --parameters \ sourceBigQueryDataset=SOURCE_ASSET_NAME_OR_DATASET_ID,\ destinationStorageBucketAssetName=DESTINATION_ASSET_NAME
Remplacez les éléments suivants :
JOB_NAME: a job name of your choice PROJECT_ID: your template project ID REGION_NAME: region in which to run the job SOURCE_ASSET_NAME_OR_DATASET_ID: your Knowledge Catalog asset name for the source BigQuery dataset, or the dataset ID DESTINATION_ASSET_NAME: your Knowledge Catalog asset name for the destination Cloud Storage bucket
REST
Envoyez une requête POST HTTP :
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION_NAME/flexTemplates:launch
{
"launch_parameter": {
"jobName": "JOB_NAME",
"parameters": {
"sourceBigQueryDataset": "SOURCE_ASSET_NAME_OR_DATASET_ID",
"destinationStorageBucketAssetName": "DESTINATION_ASSET_NAME",
},
"containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_BigQuery_to_GCS_Preview",
}
}
Remplacez les éléments suivants :
PROJECT_ID: your template project ID REGION_NAME: region in which to run the job JOB_NAME: a job name of your choice SOURCE_ASSET_NAME_OR_DATASET_ID: your Knowledge Catalog asset name for the source BigQuery dataset, or the dataset ID DESTINATION_ASSET_NAME: your Knowledge Catalog asset name for the destination Cloud Storage bucket REGION_NAME: region in which to run the job
Planifier d'autres Google Cloudmodèles Dataflow fournis ou personnalisés
Knowledge Catalog vous permet de planifier et de surveiller n'importe quel modèle Dataflow fourni par Google Cloudou votre modèle Dataflow personnalisé dans la console.
Programmation
Console
Dans la Google Cloud console, accédez à la page Traiter de Knowledge Catalog.
Cliquez sur Créer une tâche.
Sous Créer un pipeline Dataflow, cliquez sur Créer un pipeline Dataflow.
Choisissez un lac Knowledge Catalog.
Indiquez un nom de tâche.
Choisissez une région dans laquelle exécuter la tâche.
Choisissez un modèle Dataflow.
Renseignez les paramètres requis.
Cliquez sur Continuer.
Surveiller
Console
Dans la Google Cloud console, accédez à la page Traiter de Knowledge Catalog.
Cliquez sur Pipelines Dataflow.
Filtrez par lac ou par nom de pipeline.