Elabora i dati utilizzando i modelli

Dataplex fornisce modelli basati su Dataflow per eseguire attività comuni di elaborazione dati come l'importazione dati, l'elaborazione e la gestione del ciclo di vita dei dati. Questa guida descrive come configurare ed eseguire i modelli di elaborazione dati.

Prima di iniziare

I modelli Dataplex si basano su Dataflow. Prima di utilizzare i modelli, abilita le API Dataflow.

Abilita le API Dataflow

Note

  • Tutti i modelli supportano le opzioni comuni delle pipeline Dataflow.

  • Dataplex utilizza le pipeline di dati per pianificare le attività definite dai modelli.

  • Puoi visualizzare le attività che hai pianificato tramite Dataplex solo nella pagina Dataplex della console Google Cloud.

Modello: converti i dati non elaborati in dati curati

Il modello di conversione del formato file Dataplex converte i dati in un asset Dataplex Cloud Storage o in un elenco di entità Dataplex archiviati in formati CSV o JSON in dati di formato Parquet o Avro in un altro asset Dataplex. Il layout della partizione viene mantenuto nella conversione. Supporta inoltre la compressione dei file di output.

Parametri del modello

Parametro Descrizione
inputAssetOrEntitiesList L'asset Dataplex o le entità Dataplex contenenti i file di input. Questo parametro deve avere il formato: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> o 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 Il formato file di output in Cloud Storage. Questo parametro deve avere il formato: PARQUET o AVRO.
outputAsset Il nome dell'asset Dataplex contenente il bucket Cloud Storage in cui verranno archiviati i file di output. Il parametro deve seguire il formato: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>. Puoi trovare l'elemento outputAsset nella console Google Cloud, nella scheda Details dell'asset Dataplex.
outputFileCompression (Facoltativo) Compressione del file di output. Il valore predefinito di questo parametro è SNAPPY. Altri valori per il parametro possono essere UNCOMPRESSED, SNAPPY, GZIP o BZIP2. BZIP2 non è supportato per PARQUET file.
writeDisposition Facoltativo: specifica l'azione che si verifica se esiste già un file di destinazione. Il valore predefinito di questo parametro è SKIP, che indica di elaborare solo i file che non esistono nella directory di destinazione. Altri valori per il parametro possono essere OVERWRITE (sovrascrivi qualsiasi file esistente) o FAIL (non elaborare nulla e generare un errore se esiste già un file di destinazione).
updateDataplexMetadata

Facoltativo: se aggiornare i metadati Dataplex per le entità appena create. Il valore predefinito di questo parametro è false.

Se l'opzione è abilitata, la pipeline copierà automaticamente lo schema dall'origine alle entità Dataplex di destinazione e l'automazione di Dataplex Discovery non verrà eseguita per loro. Utilizza questo flag se lo schema dei dati di origine (non elaborati) è gestito da Dataplex.

Esegui il modello

Console

  1. Nella console Google Cloud, vai alla pagina Dataplex:

    Vai a Dataplex

  2. Vai alla visualizzazione Process (Elabora).

  3. Fai clic su Crea attività.

  4. In Converti in formati selezionati, fai clic su Crea attività.

  5. Scegli un lake Dataplex.

  6. Dai un nome all'attività.

  7. Scegli una regione per l'esecuzione dell'attività.

  8. Inserisci i parametri obbligatori.

  9. Fai clic su Continua.

gcloud

Sostituisci quanto segue:

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

Nella shell o nel terminale, esegui il modello:

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

Sostituisci quanto segue:

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

Invia una richiesta 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",
 }
}

Modello: dati di livello da un asset BigQuery a un asset Cloud Storage

Il modello da BigQuery a Cloud Storage di Dataplex copia i dati da un asset BigQuery di Dataplex in un asset Cloud Storage di Dataplex in un layout e formati compatibili con Dataplex. Puoi specificare un set di dati BigQuery o un elenco di tabelle BigQuery da copiare. Per una maggiore flessibilità, il modello consente di copiare dati precedenti a una data di modifica specificata e, facoltativamente, di eliminare i dati da BigQuery dopo una copia riuscita.

Quando copi tabelle partizionate da BigQuery in Cloud Storage, il modello crea partizioni in stile Hive nel bucket Cloud Storage. Quando scrivi in Cloud Storage, il modello crea una nuova chiave di partizione aggiungendo il suffisso _pid alla colonna di partizione esistente. Questa operazione è necessaria per accedere ai dati in BigQuery come tabella esterna. Attualmente, BigQuery non può avere la chiave di partizione con stile Hive uguale a una colonna esistente. Di conseguenza, la tabella copiata, se visualizzata da BigQuery come tabella esterna, ha una colonna aggiuntiva per la chiave di partizione. Il resto dei dati viene conservato così com'è.

Quando copi tabelle partizionate da BigQuery in Cloud Storage:

  • Il modello crea partizioni in stile Hive nel bucket Cloud Storage. Attualmente, BigQuery non può avere la chiave di partizione con stile Hive uguale a una colonna esistente. Puoi utilizzare l'opzione enforceSamePartitionKey per creare una nuova chiave di partizione o mantenere la stessa chiave di partizione, ma rinominare la colonna esistente.
  • Dataplex Discovery registra il tipo di partizione come string quando crea una tabella BigQuery (e una tabella in Metastore Dataproc). Ciò potrebbe influire sui filtri di partizione esistenti.

Esiste un limite al numero di tabelle e partizioni che possono essere trasformate in un'unica esecuzione del modello, ovvero circa 300. Il numero esatto dipende dalla lunghezza dei nomi delle tabelle e da altri fattori.

Parametri del modello

Parametro Descrizione
sourceBigQueryDataset Il set di dati BigQuery da cui ricavare i dati dal livello. Questo parametro deve contenere il nome di un asset Dataplex nel formato projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> o un ID set di dati BigQuery nel formato projects/<name>/datasets/<dataset-id>.
destinationStorageBucketAssetName Il nome dell'asset Dataplex per il bucket Cloud Storage a cui applicare il livello di dati. Questo parametro deve essere nel formato projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>.
tables Facoltativo: un elenco di tabelle BigQuery separate da virgole per il livello. Se non viene fornito alcun elenco, tutte le tabelle saranno disposte su più livelli. Le tabelle devono essere specificate solo tramite il loro nome (nessun prefisso di progetto/set di dati) e sono sensibili alle maiuscole.
exportDataModifiedBeforeDateTime (Facoltativo) Utilizza questo parametro per spostare i dati precedenti a questa data (e ora facoltativa). Per le tabelle BigQuery partizionate, sposta le partizioni l'ultima volta prima di questa data/ora. Per le tabelle non partizionate, sposta questa opzione se è stata modificata l'ultima volta prima di questa data/ora. Se non specificato, sposta tutte le tabelle/partizioni. La data e l'ora vengono analizzate nel fuso orario predefinito per impostazione predefinita, ma sono supportati i suffissi facoltativi Z e +HH:mm. Questo parametro deve essere nel formato YYYY-MM-DD, YYYY-MM-DDTHH:mm:ss o YYYY-MM-DDTHH:mm:ss+03:00. È supportata anche la data/ora relativa, che deve essere nel formato -PnDTnHnMn.nS (deve iniziare con -P, che indica l'ora nel passato).
fileFormat Facoltativo: il formato file di output in Cloud Storage. Il valore predefinito di questo parametro è PARQUET. Un altro valore per il parametro può essere AVRO.
fileCompression (Facoltativo) Compressione del file di output. Il valore predefinito di questo parametro è SNAPPY. Altri valori per il parametro possono essere UNCOMPRESSED, SNAPPY, GZIP o BZIP2. BZIP2 non è supportato per PARQUET file.
deleteSourceData Facoltativo: se eliminare i dati di origine da BigQuery dopo un'esportazione corretta. I valori possono essere true o false. Il valore predefinito di questo parametro è false.
partitionIdRegExp Facoltativo: elabora le partizioni con ID partizione che corrispondono solo a questa espressione regolare. Se non viene fornito alcun valore, questo parametro viene utilizzato per impostazione predefinita per elaborare tutti i valori.
writeDisposition Facoltativo: specifica l'azione che si verifica se esiste già un file di destinazione, vale a dire che una o più tabelle/partizioni sono già state pre-livello. Il valore predefinito per questo parametro è SKIP, che indica di elaborare solo le tabelle/partizioni non ancora pre-livello. Altri valori per il parametro possono essere OVERWRITE (sovrascrivi qualsiasi file esistente) o FAIL (non elaborare nulla e generare un errore se esiste già un file di destinazione).
enforceSamePartitionKey

Facoltativo: se applicare la stessa chiave di partizione. A causa di una limitazione di BigQuery, non è possibile che la chiave di partizione (nel percorso di un file) in una tabella esterna partizionata abbia lo stesso nome di una delle colonne del file. Se questo parametro è true (ovvero il valore predefinito), la chiave di partizione del file di destinazione viene impostata sul nome della colonna di partizione originale e la colonna nel file viene rinominata. Se è false, la chiave di partizione viene rinominata.

Ad esempio, se la tabella originale è partizionata su una colonna denominata TS e enforceSamePartitionKey=true, il percorso del file di destinazione è gs://<bucket>/TS=<partition ID>/<file> e la colonna viene rinominata come TS_pkey nel file. Ciò consente di eseguire le query esistenti sulle stesse partizioni nella tabella precedente o in quella nuova.

Se enforceSamePartitionKey=false, il percorso del file di destinazione è gs://<bucket>/TS_pid=<partition ID>/<file>, ma il nome della colonna viene mantenuto come TS nel file.

updateDataplexMetadata

Facoltativo: se aggiornare i metadati Dataplex per le entità appena create. Il valore predefinito di questo parametro è false.

Se l'opzione è abilitata, la pipeline copierà automaticamente lo schema dall'origine alle entità Dataplex di destinazione e l'automazione di Dataplex Discovery non verrà eseguita per loro. Utilizza questo flag se gestisci lo schema delle tabelle BigQuery di origine.

Esegui il modello

Console

  1. Nella console Google Cloud, vai alla pagina Dataplex:

    Vai a Dataplex

  2. Vai alla visualizzazione Process (Elabora).

  3. Fai clic su Crea attività.

  4. In Livello da BQ ad asset GCS, fai clic su Crea attività.

  5. Scegli un lake Dataplex.

  6. Dai un nome all'attività.

  7. Scegli una regione per l'esecuzione dell'attività.

  8. Inserisci i parametri obbligatori.

  9. Fai clic su Continua.

gcloud

Sostituisci quanto segue:

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

Nella shell o nel terminale, esegui il modello:

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

Sostituisci quanto segue:

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

Invia una richiesta 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",
 }
}

Pianificare altri modelli Dataflow forniti da Google Cloud o personalizzati

Dataplex consente di pianificare e monitorare qualsiasi modello Dataflow fornito da Google Cloud o il tuo modello Dataflow personalizzato nella console.

Pianificazione

Console

  1. Nella console Google Cloud, vai alla pagina Dataplex:

    Vai a Dataplex

  2. Vai alla visualizzazione Process (Elabora).

  3. Fai clic su Crea attività.

  4. In Crea una pipeline Dataflow, fai clic su Crea pipeline Dataflow.

  5. Scegli un lake Dataplex.

  6. Dai un nome all'attività.

  7. Scegli una regione in cui eseguire l'attività.

  8. Scegli un modello Dataflow.

  9. Inserisci i parametri obbligatori.

  10. Fai clic su Continua.

Monitora

Console

  1. Nella console Google Cloud, vai alla pagina Dataplex:

    Vai a Dataplex

  2. Vai alla visualizzazione Process (Elabora).

  3. Fai clic su Pipeline di Dataflow.

  4. Filtra per nome lake o pipeline.