Dataplex fornisce modelli, basati su Dataflow, per eseguire le attività di elaborazione dati più comuni, come l'importazione dati, l'elaborazione e la gestione del ciclo di vita dei dati. Questa guida descrive come configurare ed eseguire modelli di elaborazione dati.
Prima di iniziare
I modelli Dataplex sono basati su Dataflow. Prima di utilizzare i modelli, abilita le API Dataflow.
Note
Tutti i modelli supportano le opzioni per le pipeline Dataflow comuni.
Dataplex utilizza le pipeline di dati per pianificare le attività definite dai modelli.
Puoi visualizzare solo le attività che pianifichi tramite Dataplex nella pagina Dataplex della console Google Cloud.
Modello: converti i dati non elaborati in dati selezionati
Il modello di conversione del formato file Dataplex converte i dati di un asset Cloud Storage Dataplex o di un elenco di entità Dataplex archiviate nei formati CSV o JSON in dati in formato Parquet o Avro in un altro asset Dataplex. Il layout della partizione viene conservato nella conversione. Supporta inoltre la compressione dei file di output.
Parametri del modello
Parametro | Descrizione |
---|---|
inputAssetOrEntitiesList |
L'asset Dataplex o le entità Dataplex che contengono 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 del file di output in Cloud Storage. Questo parametro deve
essere nel formato: PARQUET o AVRO . |
outputAsset |
Il nome dell'asset Dataplex che contiene il bucket Cloud Storage in cui verranno archiviati i file di output. Questo parametro deve avere il formato: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> . Puoi trovare 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 tutti i file esistenti) o FAIL (non elaborare nulla e produrre un errore se esiste già almeno 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 il Dataplex Discovery automatizzato non verrà eseguito 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 (Procedura).
Fai clic su Crea attività.
In Converti in formati curati, fai clic su Crea attività.
Scegli un lake Dataplex.
Specifica un nome per l'attività.
Scegli una regione per l'esecuzione dell'attività.
Compila i parametri richiesti.
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: livelli di dati da un asset BigQuery a un asset Cloud Storage
Il modello Dataplex BigQuery in Cloud Storage copia i dati da un asset Dataplex BigQuery a un asset Dataplex Cloud Storage 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.
Durante la copia di tabelle partizionate da BigQuery a 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. È necessaria per accedere ai dati in BigQuery
come tabella esterna. Attualmente, la chiave di partizione in stile Hive
non può essere uguale a una colonna esistente in BigQuery. Di conseguenza, la tabella copiata, vista da BigQuery come tabella esterna, ha una colonna aggiuntiva per la chiave di partizione. I dati rimanenti vengono conservati così come sono.
Quando copi tabelle partizionate da BigQuery a Cloud Storage:
- Il modello crea partizioni in stile Hive nel bucket Cloud Storage.
Attualmente, la chiave di partizione in stile Hive non può essere uguale a una colonna esistente in BigQuery. 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
durante la creazione di una tabella BigQuery (e una tabella in Dataproc Metastore). Ciò potrebbe influire sui filtri di partizione esistenti.
Esiste un limite di circa 300 tabelle e partizioni che possono essere trasformate in una singola esecuzione di modello. 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 ordinare i dati. Questo parametro
deve contenere un nome di 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 in cui assegnare i dati. Questo parametro deve essere nel formato
projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> . |
tables |
(Facoltativo) Un elenco separato da virgole di tabelle BigQuery da aggiungere al livello. Se non viene fornito alcun elenco, tutte le tabelle verranno ordinate in livelli. Le tabelle devono essere specificate solo dal 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 modificate per l'ultima volta prima di questa data/ora. Per le tabelle non partizionate, sposta la tabella se la tabella è stata modificata per l'ultima volta prima di questa data/ora. Se non specificato, sposta tutte le tabelle/partizioni. Per impostazione predefinita, data e ora vengono analizzate nel fuso orario predefinito, 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 .
Sono supportate anche data e ora relative
e devono rispettare il formato
-PnDTnHnMn.nS (deve iniziare con -P , che
indica un'ora nel passato).
|
fileFormat |
(Facoltativo) Il formato del 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 riuscita. I valori possono essere true o
false . Il valore predefinito di questo parametro è
false . |
partitionIdRegExp |
(Facoltativo) Elabora le partizioni con ID partizione che corrisponde a questa espressione regolare. Se non viene fornito alcun valore, per impostazione predefinita questo parametro elaborerà tutti i valori. |
writeDisposition |
(Facoltativo) Specifica l'azione che si verifica se esiste già un file di destinazione, ovvero una o più tabelle/partizioni sono già state pre-livellate. Il valore predefinito di questo parametro è SKIP , che consente di elaborare solo le tabelle/partizioni che non erano già pre-livellate. Altri valori per il parametro possono essere OVERWRITE (sovrascrivi tutti i file esistenti) o FAIL (non elaborare nulla e produrre un errore se esiste già almeno un file di destinazione). |
enforceSamePartitionKey |
(Facoltativo) Se applicare la stessa chiave di partizione. A causa di una limitazione di BigQuery, la chiave di partizione (nel percorso del file) in una tabella esterna partizionata non può avere lo stesso nome di una delle colonne del file. Se questo parametro è true (che è il valore predefinito), la chiave di partizione del file di destinazione è impostata sul nome della colonna di partizione originale e la colonna nel file viene rinominata. Se il valore è false, la chiave di partizione viene rinominata. Ad esempio, se la tabella originale è partizionata in 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 il Dataplex Discovery automatizzato non verrà eseguito 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 (Procedura).
Fai clic su Crea attività.
In Tier from BQ to GCS Assets, fai clic su Crea attività.
Scegli un lake Dataplex.
Specifica un nome per l'attività.
Scegli una regione per l'esecuzione dell'attività.
Compila i parametri richiesti.
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", } }
Pianifica 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 (Procedura).
Fai clic su Crea attività.
In Crea una pipeline Dataflow, fai clic su Crea pipeline Dataflow.
Scegli un lake Dataplex.
Specifica un nome per l'attività.
Scegli una regione per l'esecuzione dell'attività.
Scegli un modello Dataflow.
Compila i parametri richiesti.
Fai clic su Continua.
Monitora
Console
Nella console Google Cloud, vai alla pagina Dataplex:
Vai alla visualizzazione Process (Procedura).
Fai clic su pipeline Dataflow.
Filtra per nome lake o pipeline.