Dataplex Universal Catalog fournit des modèles optimisés par Dataflow pour effectuer des tâches courantes de traitement des données, comme l'ingestion et le traitement des données, ainsi que la gestion de leur cycle de vie. Ce guide explique comment configurer et exécuter des modèles de traitement des données.
Avant de commencer
Les modèles Dataplex Universal Catalog sont optimisés par 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.
Dataplex Universal 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 dans Dataplex Universal Catalog dans la console Google Cloud sur la page Dataplex Universal Catalog.
Modèle : Convertir des données brutes en données sélectionnées
Le modèle de conversion de format de fichier Dataplex Universal Catalog convertit les données d'un élément Cloud Storage Dataplex Universal Catalog, ou d'une liste d'entités Dataplex Universal Catalog stockées aux formats CSV ou JSON, au format Parquet ou Avro dans un autre élément Dataplex Universal Catalog. La mise en page des partitions est conservée lors de la conversion. Il prend également en charge la compression des fichiers de sortie.
Paramètres de modèle
Paramètre | Description |
---|---|
inputAssetOrEntitiesList |
L'élément ou les entités Dataplex Universal 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'asset du catalogue universel Dataplex 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 leoutputAsset dans la console Google Cloud , dans l'onglet Details de l'élément Dataplex Universal Catalog. |
outputFileCompression |
Facultatif : Compression du fichier de sortie. La valeur par défaut de ce paramètre est SNAPPY . Les autres valeurs possibles pour le 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 de 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 le paramètre sont OVERWRITE (remplacer 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 si les métadonnées Dataplex Universal Catalog doivent être mises à jour pour les entités nouvellement créées. La valeur par défaut de 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écouverte automatisée de Dataplex Universal Catalog ne s'exécute pas pour elles. Utilisez cet indicateur si le schéma des données sources (brutes) est géré par Dataplex. |
Exécuter le modèle
Console
Dans la console Google Cloud , accédez à la page Catalogue universel Dataplex.
Accédez à la vue Process (Processus).
Cliquez sur Créer une tâche.
Sous Convertir vers des formats sélectionnés, cliquez sur Créer une tâche.
Choisissez un lac Dataplex Universal Catalog.
Indiquez un nom pour la tâche.
Choisissez une région pour l'exécution des tâches.
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 Dataplex Universal 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 Dataplex Universal 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 Dataplex Universal Catalog BigQuery vers Cloud Storage copie les données d'un élément Dataplex Universal Catalog BigQuery vers un élément Dataplex Universal Catalog Cloud Storage dans une mise en page et un format compatibles avec Dataplex Universal 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 dans le bucket Cloud Storage.
La clé de partition de style Hive ne peut pas être identique à une colonne existante dans BigQuery. L'option
enforceSamePartitionKey
vous permet de créer une clé de partition ou de conserver la même clé de partition, mais en renommant la colonne existante. - La détection du catalogue universel Dataplex enregistre le type de partition en tant que
string
lors de la création d'une table BigQuery (et d'une table dans Dataproc Metastore). Cela peut avoir une incidence sur les filtres de partition existants.
Le nombre de tables et de partitions pouvant être transformées lors d'une même exécution de modèle est limité à environ 300. Le nombre exact dépend de la longueur des noms de tables et d'autres facteurs.
Paramètres de modèle
Paramètre | Description |
---|---|
sourceBigQueryDataset |
Ensemble de données BigQuery à partir duquel les données sont hiérarchisées. Ce paramètre doit contenir le nom d'un élément Dataplex Universal 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 Dataplex Universal Catalog pour le bucket Cloud Storage vers lequel transférer les données. Ce paramètre doit respecter le format projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> . |
tables |
Facultatif : Liste des tables BigQuery à hiérarchiser, séparées par une virgule. Si aucune liste n'est fournie, toutes les tables seront classées par niveau. Les tables doivent être spécifiées par leur nom uniquement (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 à cette heure facultative). Pour les tables BigQuery partitionnées, déplacez les partitions modifiées avant cette date/heure. Pour les tables non partitionnées, déplacez-les si elles ont été modifiées avant cette date/heure. Si ce paramètre n'est pas spécifié, toutes les tables/partitions sont déplacées. Par défaut, 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 YYYY-MM-DD , YYYY-MM-DDTHH:mm:ss ou YYYY-MM-DDTHH:mm:ss+03:00 .
Les dates et heures relatives sont également acceptées. Elles doivent respecter le format -PnDTnHnMn.nS (elles doivent commencer par -P , qui indique une heure passée).
|
fileFormat |
Facultatif : format du fichier de sortie dans Cloud Storage. La valeur par défaut de ce paramètre est PARQUET . Une autre valeur possible pour le paramètre est AVRO . |
fileCompression |
Facultatif : Compression du fichier de sortie. La valeur par défaut de ce paramètre est SNAPPY . Les autres valeurs possibles pour le paramètre sont UNCOMPRESSED , SNAPPY , GZIP ou BZIP2 . BZIP2 n'est pas compatible avec les fichiers PARQUET . |
deleteSourceData |
Facultatif : Indique si les données sources doivent être supprimées de BigQuery après une exportation réussie. Les valeurs peuvent être true ou false . La valeur par défaut de ce paramètre est false . |
partitionIdRegExp |
Facultatif : ne traiter que les partitions dont l'ID 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é-hiérarchisées. La valeur par défaut de ce paramètre est SKIP , ce qui indique de ne traiter que les tables/partitions qui n'ont pas déjà été pré-hiérarchisées. Les autres valeurs possibles pour le paramètre sont OVERWRITE (remplacer 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 si la même clé de partition doit être appliquée. En raison d'une limitation de BigQuery, il n'est pas possible que la clé de partition (dans le chemin d'accès au fichier) d'une table externe partitionnée porte 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 la 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 la valeur est |
updateDataplexMetadata |
Facultatif : indique si les métadonnées Dataplex Universal Catalog doivent être mises à jour pour les entités nouvellement créées. La valeur par défaut de 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écouverte automatisée de Dataplex Universal Catalog ne s'exécute pas pour elles. Utilisez cet indicateur si vous gérez le schéma des tables BigQuery sources. |
Exécuter le modèle
Console
Dans la console Google Cloud , accédez à la page Catalogue universel Dataplex.
Accédez à la vue Process (Processus).
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 Dataplex Universal Catalog.
Indiquez un nom pour la tâche.
Choisissez une région pour l'exécution des tâches.
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 Dataplex Universal Catalog asset name for the source BigQuery dataset, or the dataset ID DESTINATION_ASSET_NAME: your Dataplex Universal 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 Dataplex Universal Catalog asset name for the source BigQuery dataset, or the dataset ID DESTINATION_ASSET_NAME: your Dataplex Universal Catalog asset name for the destination Cloud Storage bucket REGION_NAME: region in which to run the job
Planifier d'autres modèles Dataflow fournis par Google Cloudou personnalisés
Dataplex Universal Catalog vous permet de planifier et de surveiller n'importe quel modèle Dataflow fourni parGoogle Cloudou votre modèle Dataflow personnalisé dans la console.
Planification
Console
Dans la console Google Cloud , accédez à la page Catalogue universel Dataplex.
Accédez à la vue Process (Processus).
Cliquez sur Créer une tâche.
Sous Créer un pipeline Dataflow, cliquez sur Créer un pipeline Dataflow.
Choisissez un lac Dataplex Universal Catalog.
Indiquez un nom pour la 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 console Google Cloud , accédez à la page Catalogue universel Dataplex.
Accédez à la vue Process (Processus).
Cliquez sur Pipelines Dataflow.
Filtrez par nom de lac ou de pipeline.