Traiter des données à l'aide de modèles

Dataplex fournit des modèles, optimisés par Dataflow, pour effectuer des tâches de traitement des données courantes 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 données modèles de traitement.

Avant de commencer

Les modèles Dataplex sont basés sur Dataflow. Avant d'utiliser les modèles, activez les API Dataflow.

Activer les API Dataflow

Remarques

  • Tous les modèles sont compatibles Options de pipeline Dataflow.

  • Dataplex 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 Dataplex sur la page Dataplex de la console Google Cloud.

Modèle: convertir des données brutes en données sélectionnées

Le modèle de conversion du format de fichier Dataplex convertit les données dans un un élément Cloud Storage Dataplex, ou une liste Entités Dataplex stockées aux formats CSV ou JSON vers Parquet ou Données au format Avro dans un autre élément Dataplex. 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 qui contenant 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 respectez le format suivant: PARQUET ou AVRO.
outputAsset Nom de l'asset 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 l'outputAsset dans la console Google Cloud, dans l'onglet Details des composants Dataplex.
outputFileCompression Facultatif : compression du fichier de sortie. La valeur par défaut pour ce paramètre est SNAPPY. Les autres valeurs du paramètre peuvent être UNCOMPRESSED, SNAPPY, GZIP ou BZIP2. BZIP2 n'est pas compatible avec PARQUET fichiers.
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 du paramètre peuvent être OVERWRITE (remplace tous les fichiers existants) ou FAIL (ne traitez rien et génère une erreur si au moins une destination fichier existe déjà).
updateDataplexMetadata

Facultatif : indique si les métadonnées Dataplex doivent être mises à jour pour les entités nouvellement créées. La valeur par défaut de ce paramètre est false

Si cette option est activée, le pipeline copiera automatiquement le schéma de la source aux entités Dataplex de destination, et la couche de données automatisée La découverte Dataplex ne s'exécutera pas pour eux. Utilisez cet indicateur si le schéma des données sources (brutes) est géré par Dataplex.

Exécuter le modèle

Console

  1. Dans la console Google Cloud, accédez à la page Dataplex :

    Accéder à Dataplex

  2. Accédez à la vue Process (Procédure).

  3. Cliquez sur Créer une tâche.

  4. Sous Convertir en formats sélectionnés, cliquez sur Créer une tâche.

  5. Choisissez un lac Dataplex.

  6. Indiquez un nom de tâche.

  7. Choisissez une région pour l'exécution de la tâche.

  8. Renseignez les paramètres requis.

  9. Cliquez sur Continuer.

gcloud

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 output asset ID

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

API REST

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 output asset ID

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",
 }
}

Modèle : hiérarchiser les données d'un élément BigQuery dans un élément Cloud Storage

Dataplex BigQuery vers Cloud Storage copie les données d'une instance BigQuery à un élément Cloud Storage Dataplex dans Mise en page et format compatibles avec Dataplex. 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. BigQuery ne peut pas avoir une clé de partition de style Hive doit être identique à celle d'une colonne existante. Vous pouvez utiliser l'option enforceSamePartitionKey pour créer une clé de partition ou conserver la la même clé de partition, mais renommez la colonne existante.
  • La découverte Dataplex enregistre le type de partition en tant que string lorsque vous créez une table BigQuery (et une table dans Dataproc Metastore). Cela peut avoir une incidence sur vos filtres de partitionnement 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 sur 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 doivent être hiérarchisées. Ce paramètre doit contenir un nom d'élément Dataplex 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 pour le bucket Cloud Storage vers lequel les données doivent être hiérarchisées. Ce paramètre doit respecter le format projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>.
tables Facultatif: une liste de tables BigQuery séparées par une virgule à à un niveau supérieur. Si vous ne fournissez aucune liste, toutes les tables seront hiérarchisées. Les tableaux doivent être spécifiés par leur nom uniquement (pas de préfixe de projet/ensemble de données) et sont sensible à la casse.
exportDataModifiedBeforeDateTime Facultatif : Utilisez ce paramètre pour déplacer les données antérieures à cette date (et à l'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 la table a été modifiée pour la dernière fois avant cette date/heure. Si ce n'est pas le cas ne sont pas spécifiées, déplacent toutes les tables/partitions. La date et l'heure sont analysées fuseau horaire par défaut, mais les suffixes facultatifs Z et Les +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. Date/Heure relative est également pris en charge et doit respecter le format -PnDTnHnMn.nS (doit commencer par -P, qui indique une heure passée).
fileFormat (Facultatif) Format du fichier de sortie dans Cloud Storage. La valeur par défaut la valeur de ce paramètre est PARQUET. Une autre valeur du paramètre peut être AVRO.
fileCompression Facultatif: compression du fichier de sortie. La valeur par défaut est SNAPPY. Les autres valeurs du paramètre peuvent être 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 pour ce paramètre est false.
partitionIdRegExp Facultatif : traiter uniquement 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é-hiérarchisé. 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é-établissées. Les autres valeurs du paramètre peuvent être OVERWRITE (remplace tous les fichiers existants) ou FAIL (ne traitez rien et génère une erreur si au moins une destination fichier existe déjà).
enforceSamePartitionKey

Facultatif : Indique si la même clé de partition doit être appliquée. En raison d'une limite de BigQuery, la clé de partition (dans le chemin d'accès au fichier) d'une table externe partitionnée ne peut pas porter le même nom que l'une des colonnes du fichier. Si ce paramètre est défini sur "true" est la valeur par défaut), la clé de partition du fichier cible est définie sur nom d’origine de la colonne de partition 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 en fonction d'une colonne nommée TS et enforceSamePartitionKey=true, puis le le chemin d'accès au fichier de destination est gs://<bucket>/TS=<partition ID>/<file> et la colonne est renommée TS_pkey dans le fichier. Ce permet d'exécuter des requêtes existantes sur les mêmes partitions l'ancienne table ou la nouvelle.

Si la valeur est enforceSamePartitionKey=false, alors le chemin d'accès au fichier de destination est gs://<bucket>/TS_pid=<partition ID>/<file>, mais le nom de la colonne est conservé TS dans le fichier.

updateDataplexMetadata

Facultatif: Mettre à jour ou non les métadonnées Dataplex pour le entités nouvellement créées. La valeur par défaut pour ce paramètre est false.

Si cette option est activée, le pipeline copiera automatiquement le schéma de la source aux entités Dataplex de destination, et la couche de données automatisée La découverte Dataplex ne s'exécutera pas pour eux. Utilisez cet indicateur si vous gèrent le schéma des tables BigQuery sources.

Exécuter le modèle

Console

  1. Dans la console Google Cloud, accédez à la page Dataplex:

    Accéder à Dataplex

  2. Accédez à la vue Process (Procédure).

  3. Cliquez sur Créer une tâche.

  4. Sous Transférer d'un élément BQ vers un élément GCS, cliquez sur Créer une tâche.

  5. Choisissez un lac Dataplex.

  6. Indiquez un nom de tâche.

  7. Choisissez une région pour l'exécution de la tâche.

  8. Renseignez les paramètres requis.

  9. Cliquez sur Continuer.

gcloud

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 asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex asset name for
the destination Cloud Storage bucket

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

API REST

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 asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex asset name for
the destination Cloud Storage bucket
REGION_NAME: region in which to run the job

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",
 }
}

Planifier d'autres modèles Dataflow personnalisés ou fournis par Google Cloud

Dataplex vous permet de planifier et de surveiller n'importe quel modèle Dataflow fourni par Google Cloud ou votre modèle Dataflow personnalisé dans la console.

Planification

Console

  1. Dans la console Google Cloud, accédez à la page Dataplex :

    Accéder à Dataplex

  2. Accédez à la vue Process (Procédure).

  3. Cliquez sur Créer une tâche.

  4. Sous Créer un pipeline Dataflow, cliquez sur Créer un pipeline Dataflow.

  5. Choisissez un lac Dataplex.

  6. Indiquez un nom de tâche.

  7. Choisissez une région dans laquelle exécuter la tâche.

  8. Choisissez un modèle Dataflow.

  9. Renseignez les paramètres requis.

  10. Cliquez sur Continuer.

Surveiller

Console

  1. Dans la console Google Cloud, accédez à la page Dataplex :

    Accéder à Dataplex

  2. Accédez à la vue Process (Procédure).

  3. Cliquez sur Dataflow pipelines (Pipelines Dataflow).

  4. Filtrez par nom de lac ou de pipeline.