Importazione utilizzando i modelli

Dataplex Universal Catalog fornisce modelli (basati su Dataflow) per eseguire attività comuni di elaborazione dei dati come l&#39importazione datie, l'elaborazione e la gestione del ciclo di vita dei dati. Questa guida descrive come configurare ed eseguire un modello che acquisisce dati utilizzando una connessione JDBC.

Prima di iniziare

I modelli di attività del Catalogo universale Dataplex sono basati su Dataflow. Prima di utilizzare i modelli, abilita le API Dataflow.

Attiva le API Dataflow

Modello: importa dati in Dataplex Universal Catalog utilizzando una connessione JDBC

Il modello di importazione JDBC di Dataplex Universal Catalog copia i dati da un database relazionale in una destinazione asset Dataplex Universal Catalog. L'asset Dataplex Universal Catalog può essere un asset Cloud Storage o un asset BigQuery.

Questa pipeline utilizza JDBC per connettersi al database relazionale. Per un ulteriore livello di protezione, puoi anche trasmettere una chiave Cloud KMS insieme a parametri di stringa di connessione, password e nome utente codificati in Base64 criptati con la chiave Cloud KMS.

Il modello gestisce in modo trasparente i diversi tipi di asset. I dati archiviati nell'asset Cloud Storage sono partizionati in stile Hive e Discovery di Dataplex Universal Catalog li rende automaticamente disponibili come tabella in Data Catalog (ritirato), BigQuery (tabella esterna) o un'istanza Dataproc Metastore collegata.

Parametri del modello

Parametro Descrizione
driverJars Utilizza le virgole per separare i percorsi Cloud Storage per i driver JDBC.
Ad esempio, gs://your-bucket/driver_jar1.jar, gs://your-bucket/driver_jar2.jar.
connectionURL Stringa di connessione dell'URL per la connessione all'origine JDBC.
Ad esempio, jdbc:mysql://some-host:3306/sampledb.
Puoi trasmettere l'URL di connessione come testo normale o come stringa codificata in Base64 criptata da Cloud KMS.
driverClassName Il nome della classe del driver JDBC.
Ad esempio, com.mysql.jdbc.Driver.
connectionProperties La stringa delle proprietà da utilizzare per la connessione JDBC.
Ad esempio, unicode=true&characterEncoding=UTF-8.
query Query da eseguire sull'origine per estrarre i dati.
Ad esempio, select * from sampledb.sample_table.
outputAsset L'ID risorsa di output di Dataplex Universal Catalog in cui sono archiviati i risultati. Per l'ID, utilizza il formato projects/your-project/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name></code>. Puoi trovare outputAsset nella console Google Cloud , nella scheda Dettagli dell'asset Dataplex Universal Catalog.
username Il nome utente da utilizzare per la connessione JDBC. Puoi trasmettere il nome utente come testo normale o come stringa con codifica Base64 criptata da Cloud KMS.
password La password da utilizzare per la connessione JDBC. Puoi trasmettere la password come testo normale o come stringa codificata in base64 criptata da Cloud KMS.
outputTable Il percorso della tabella BigQuery o il nome della cartella principale di Cloud Storage in cui scrivere l'output. Se si tratta di una posizione della tabella BigQuery, lo schema della tabella deve corrispondere allo schema della query di origine e deve essere nel formato some-project-id:somedataset.sometable. Se si tratta di una cartella di primo livello di Cloud Storage, fornisci il nome della cartella di primo livello.
KMSEncryptionKey (Facoltativo) Se fornisci il parametro KMSEncryptionKey, assicurati che password, username e connectionURL siano criptati da Cloud KMS. Cripta questi parametri utilizzando l'endpoint di crittografia dell'API Cloud KMS. Ad esempio, projects/your-project/locations/global/keyRings/test/cryptoKeys/quickstart.
writeDisposition (Facoltativo) La strategia da utilizzare se il file/la tabella di destinazione esiste. I formati supportati sono WRITE_APPEND (le righe verranno aggiunte se la tabella esiste), WRITE_TRUNCATE (la tabella/il file verrà sovrascritto), WRITE_EMPTY (la tabella di output deve essere vuota/il file di output non deve esistere) e SKIP (non scrivere nel file se esiste). Per BigQuery, i formati consentiti sono: WRITE_APPEND, WRITE_TRUNCATE, WRITE_EMPTY. Per Cloud Storage, i formati consentiti sono: SKIP, WRITE_TRUNCATE, WRITE_EMPTY. Predefinito: WRITE_EMPTY.
partitioningScheme (Facoltativo) Lo schema di partizionamento durante la scrittura del file. Il valore predefinito di questo parametro è DAILY. Gli altri valori del parametro possono essere MONTHLY o HOURLY.
partitionColumn (Facoltativo) La colonna di partizionamento su cui si basa la partizione. Il tipo di colonna deve essere nel formato timestamp/date. Se il parametro partitionColumn non viene fornito, i dati non verranno partizionati.
fileFormat (Facoltativo) Il formato del file di output in Cloud Storage. I file vengono compressi con l'impostazione predefinita di compressione Snappy. Il valore predefinito di questo parametro è PARQUET. Un altro valore per il parametro è AVRO.
updateDataplexMetadata

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

Se abilitata, la pipeline copierà automaticamente lo schema dall'origine alle entità di destinazione di Dataplex Universal Catalog e l'individuazione automatica di Dataplex Universal Catalog non verrà eseguita. Utilizza questo flag nei casi in cui hai gestito lo schema nell'origine.

Supportato solo per la destinazione Cloud Storage.

Esegui il modello

Console

  1. Nella console Google Cloud , vai alla pagina Processo di Dataplex Universal Catalog:

    Vai a Elaborazione

  2. Fai clic su Crea attività.

  3. In Importare JDBC su Dataplex, fai clic su Crea attività.

  4. Scegli un lake Dataplex Universal Catalog.

  5. Fornisci un nome per l'attività.

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

  7. Compila i parametri obbligatori.

  8. Fai clic su Continua.

gcloud

Nella shell o nel terminale, esegui il seguente 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_JDBC_Ingestion_Preview \
--parameters \
driverJars=DRIVER_JARS,\
connectionUrl=CONNECTION_URL,\
driverClassName=DRIVER_CLASS_NAME,\
connectionProperties=CONNECTION_PROPERTIES,\
query=QUERY\
outputAsset=OUTPUT_ASSET\

Sostituisci quanto segue:

JOB_NAME: a job name of your choice
PROJECT_ID: your template project ID
DRIVER_JARS: path to your JDBC drivers
CONNECTION_URL: your JDBC connection URL string
DRIVER_CLASS_NAME: your JDBC driver class name
CONNECTION_PROPERTIES: your JDBC connection property string
QUERY: your JDBC source SQL query
OUTPUT_ASSET: your Dataplex Universal Catalog output asset ID

API 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": {
          "driverJars": "DRIVER_JARS",
          "connectionUrl": "CONNECTION_URL",
          "driverClassName": "DRIVER_CLASS_NAME",
          "connectionProperties": "CONNECTION_PROPERTIES",
          "query": "QUERY"
          "outputAsset": "OUTPUT_ASSET"
      },
      "containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_JDBC_Ingestion_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
DRIVER_JARS: path to your JDBC drivers
CONNECTION_URL: your JDBC connection URL string
DRIVER_CLASS_NAME: your JDBC driver class name
CONNECTION_PROPERTIES: your JDBC connection property string
QUERY: your JDBC source SQL query
OUTPUT_ASSET: your Dataplex Universal Catalog output asset ID

Passaggi successivi