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.
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 è 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
Nella console Google Cloud, vai alla pagina Dataplex:
Vai alla visualizzazione Process (Elabora).
Fai clic su Crea attività.
In Converti in formati selezionati, fai clic su Crea attività.
Scegli un lake Dataplex.
Dai un nome all'attività.
Scegli una regione per l'esecuzione dell'attività.
Inserisci i parametri obbligatori.
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 Se |
updateDataplexMetadata |
Facoltativo: se aggiornare i metadati Dataplex per le entità appena create. Il valore predefinito di questo parametro è 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
Nella console Google Cloud, vai alla pagina Dataplex:
Vai alla visualizzazione Process (Elabora).
Fai clic su Crea attività.
In Livello da BQ ad asset GCS, fai clic su Crea attività.
Scegli un lake Dataplex.
Dai un nome all'attività.
Scegli una regione per l'esecuzione dell'attività.
Inserisci i parametri obbligatori.
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
Nella console Google Cloud, vai alla pagina Dataplex:
Vai alla visualizzazione Process (Elabora).
Fai clic su Crea attività.
In Crea una pipeline Dataflow, fai clic su Crea pipeline Dataflow.
Scegli un lake Dataplex.
Dai un nome all'attività.
Scegli una regione in cui eseguire l'attività.
Scegli un modello Dataflow.
Inserisci i parametri obbligatori.
Fai clic su Continua.
Monitora
Console
Nella console Google Cloud, vai alla pagina Dataplex:
Vai alla visualizzazione Process (Elabora).
Fai clic su Pipeline di Dataflow.
Filtra per nome lake o pipeline.