Elabora i dati utilizzando i modelli

Knowledge Catalog (in precedenza Dataplex Universal Catalog) fornisce modelli basati su Dataflow per eseguire attività comuni di elaborazione dei 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 dei dati.

Prima di iniziare

I modelli di Knowledge Catalog sono basati su Dataflow. Prima di utilizzare i modelli, abilita le API Dataflow.

Abilita le API Dataflow

Tieni presente quanto segue:

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

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

  • Nella console, nella pagina Knowledge Catalog , puoi visualizzare solo le attività pianificate tramite Knowledge Catalog in the Google Cloud .

Modello: converti i dati non elaborati in dati curati

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

Parametri del modello

Parametro Descrizione
inputAssetOrEntitiesList L'asset o le entità di Knowledge Catalog che contengono i file di input. Questo parametro deve seguire 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 seguire il formato: PARQUET o AVRO.
outputAsset Il nome dell'asset di Knowledge Catalog che contiene il bucket Cloud Storage in cui verranno archiviati i file di output. Questo parametro deve seguire il formato: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>. Puoi trovare il outputAsset nella Google Cloud console, nella scheda Details dell'asset di Knowledge Catalog.
outputFileCompression (Facoltativo) La compressione del file di output. Il valore predefinito per questo parametro è SNAPPY. Altri valori per il parametro possono essere UNCOMPRESSED, SNAPPY, GZIP o BZIP2. BZIP2 non è supportato per i file PARQUET.
writeDisposition (Facoltativo) Specifica l'azione che si verifica se esiste già un file di destinazione. Il valore predefinito per 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 genera un errore se esiste già almeno un file di destinazione file già esistente).
updateDataplexMetadata

(Facoltativo) Indica se aggiornare i metadati di Knowledge Catalog per le entità appena create. Il valore predefinito per questo parametro è false.

Se abilitata, la pipeline copierà automaticamente lo schema dall'origine alle entità di Knowledge Catalog di destinazione e l'individuazione automatica di Knowledge Catalog non verrà eseguita per queste entità. Utilizza questo flag se lo schema dei dati di origine (non elaborati) è gestito da Knowledge Catalog.

Esegui il modello

Console

  1. Nella Google Cloud console, vai alla pagina Elabora di Knowledge Catalog.

    Vai a Elabora

  2. Fai clic su Crea attività.

  3. In Converti in formati curati, fai clic su Crea attività.

  4. Scegli un lake di Knowledge Catalog.

  5. Fornisci un nome per l'attività.

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

  7. Compila i parametri obbligatori.

  8. Fai clic su Continua.

gcloud

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

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

REST

Invia una richiesta HTTP POST:

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

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

Modello: esegui il tiering dei dati da un asset BigQuery a un asset Cloud Storage

Il modello da BigQuery a Cloud Storage di Knowledge Catalog copia i dati da un asset BigQuery di Knowledge Catalog a un asset Cloud Storage di Knowledge Catalog in un layout e un formato compatibili con Knowledge Catalog. Puoi specificare un set di dati BigQuery o un elenco di tabelle BigQuery da copiare. Per una maggiore flessibilità, il modello consente di copiare i 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 a Cloud Storage:

  • Il modello crea partizioni in stile Hive nel bucket Cloud Storage. BigQuery non può avere la chiave di partizione in 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.
  • Knowledge Catalog Discovery registra il tipo di partizione come string quando crea una tabella BigQuery (e una tabella in Dataproc Metastore). Questo potrebbe influire sui filtri di partizione esistenti.

Esiste un limite al numero di tabelle e partizioni che possono essere trasformate in una singola esecuzione del modello, pari a 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 eseguire il tiering dei dati. Questo parametro deve contenere il nome di un asset di Knowledge Catalog 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 di Knowledge Catalog per il bucket Cloud Storage in cui eseguire il tiering dei dati. Questo parametro deve seguire il formato projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>.
tables (Facoltativo) Un elenco di tabelle BigQuery separate da virgole di cui eseguire il tiering. Se non viene fornito alcun elenco, verrà eseguito il tiering di tutte le tabelle. Le tabelle devono essere specificate solo in base al nome (senza prefisso di progetto o 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 l'ultima volta prima di questa data/ora. Per le tabelle non partizionate sposta se la tabella è stata modificata l'ultima volta prima di questa data/ora. Se non specificato, sposta tutte le tabelle/partizioni. Per impostazione predefinita, la data/ora viene analizzata nel fuso orario predefinito, ma sono supportati i suffissi facoltativi Z e +HH:mm. Questo parametro deve seguire il formato YYYY-MM-DD o YYYY-MM-DDTHH:mm:ss o YYYY-MM-DDTHH:mm:ss+03:00. È supportata anche la data/ora relativa che deve seguire il formato -PnDTnHnMn.nS (deve iniziare con -P, che indica l'ora nel passato).
fileFormat (Facoltativo) Il formato del file di output in Cloud Storage. Il valore predefinito per questo parametro è PARQUET. Un altro valore per il parametro può essere AVRO.
fileCompression (Facoltativo) La compressione del file di output. Il valore predefinito per questo parametro è SNAPPY. Altri valori per il parametro possono essere UNCOMPRESSED, SNAPPY, GZIP o BZIP2. BZIP2 non è supportato per i file PARQUET.
deleteSourceData (Facoltativo) Indica se eliminare i dati di origine da BigQuery dopo un'esportazione riuscita. I valori possono essere true o false. Il valore predefinito per questo parametro è false.
partitionIdRegExp (Facoltativo) Elabora solo le partizioni con ID partizione corrispondente a questa espressione regolare. Se non viene fornito alcun valore, per impostazione predefinita questo parametro elabora tutti i valori.
writeDisposition (Facoltativo) Specifica l'azione che si verifica se esiste già un file di destinazione, il che significa che è già stato eseguito il tiering preliminare di una o più tabelle/partizioni. Il valore predefinito per questo parametro è SKIP, che indica di elaborare solo le tabelle/partizioni di cui non è già stato eseguito il tiering preliminare. Altri valori per il parametro possono essere OVERWRITE (sovrascrivi tutti i file esistenti) o FAIL (non elaborare nulla e genera un errore se esiste già almeno un file di destinazione file già esistente).
enforceSamePartitionKey

(Facoltativo) Indica se applicare la stessa chiave di partizione. A causa di una limitazione di BigQuery, non è possibile che la chiave di partizione (nel percorso del file) in una tabella esterna partizionata abbia lo stesso nome di una delle colonne del file. Se questo parametro è true (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 in base a una colonna denominata TS e enforceSamePartitionKey=true, il percorso del file di destinazione è gs://<bucket>/TS=<partition ID>/<file> e la colonna viene rinominata in TS_pkey nel file. In questo modo, le query esistenti possono essere eseguite sulle stesse partizioni nella tabella precedente o in quella nuova.

Se enforceSamePartitionKey=false, allora 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) Indica se aggiornare i metadati di Knowledge Catalog per le entità appena create. Il valore predefinito per questo parametro è false.

Se abilitata, la pipeline copierà automaticamente lo schema dall'origine alle entità Dataplex di destinazione e l'individuazione automatica di Knowledge Catalog non verrà eseguita per queste entità. Utilizza questo flag se gestisci lo schema delle tabelle BigQuery di origine.

Esegui il modello

Console

  1. Nella Google Cloud console, vai alla pagina Elabora di Knowledge Catalog.

    Vai a Elabora

  2. Fai clic su Crea attività.

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

  4. Scegli un lake di Knowledge Catalog.

  5. Fornisci un nome per l'attività.

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

  7. Compila i parametri obbligatori.

  8. Fai clic su Continua.

gcloud

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

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

REST

Invia una richiesta HTTP POST:

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

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

Pianifica altri Google Cloud-modelli Dataflow forniti o personalizzati

Knowledge Catalog ti consente di pianificare e monitorare nella console qualsiasi modello Dataflow Google Cloudfornito o il tuo modello Dataflow personalizzato.

Pianifica

Console

  1. Nella Google Cloud console, vai alla pagina Elabora di Knowledge Catalog.

    Vai a Elabora

  2. Fai clic su Crea attività.

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

  4. Scegli un lake di Knowledge Catalog.

  5. Fornisci un nome per l'attività.

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

  7. Scegli un modello Dataflow.

  8. Compila i parametri obbligatori.

  9. Fai clic su Continua.

Monitoraggio

Console

  1. Nella Google Cloud console, vai alla pagina Elabora di Knowledge Catalog.

    Vai a Elabora

  2. Fai clic su Pipeline Dataflow.

  3. Filtra per lake o nome della pipeline.