Dataplex fornisce modelli (basati su Dataflow) per eseguire attività comuni di elaborazione dei dati come importazione, elaborazione e gestione del ciclo di vita dei dati. Questa guida descrive come configurare ed eseguire un modello che importa i dati utilizzando una connessione JDBC.
Prima di iniziare
I modelli di attività Dataplex sono basati su Dataflow. Prima di utilizzare i modelli, abilita le API Dataflow.
Modello: importa dati in Dataplex utilizzando una connessione JDBC
Il modello di importazione JDBC di Dataplex copia i dati da un database relazionale in un asset target Dataplex. L'asset Dataplex può essere un asset Cloud Storage o BigQuery.
Questa pipeline utilizza JDBC per connettersi al database relazionale. Per un ulteriore livello di protezione, puoi anche passare una chiave Cloud KMS insieme a parametri di stringa di connessione, nome utente e password 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 li rende disponibili automaticamente come tabella in Data Catalog, BigQuery (tabella esterna) o in un'istanza Metastore di Dataproc collegata.
Parametri del modello
Parametro | Descrizione |
---|---|
driverJars |
Separa i percorsi di Cloud Storage per i driver JDBC utilizzando le virgole.
Ad esempio, gs://your-bucket/driver_jar1.jar ,
gs://your-bucket/driver_jar2.jar. |
connectionURL |
La stringa di connessione URL per connettersi all'origine JDBC.
Ad esempio, jdbc:mysql://some-host:3306/sampledb .
Puoi passare 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 di proprietà da utilizzare per la connessione JDBC.
Ad esempio, unicode=true&characterEncoding=UTF-8 . |
query |
La query da eseguire sull'origine per estrarre i dati.
Ad esempio, select * from sampledb.sample_table . |
outputAsset |
L'ID risorsa di output Dataplex in cui vengono memorizzati 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 della risorsa Dataplex. |
username |
Il nome utente da utilizzare per la connessione JDBC. Puoi passare il nome utente come testo normale o come stringa codificata in Base64 criptata da Cloud KMS. |
password |
La password da utilizzare per la connessione JDBC. Puoi passare la password come testo normale o come stringa con codifica Base64 criptata da Cloud KMS. |
outputTable |
La posizione della tabella BigQuery o il nome della cartella principale 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 avere il formato some-project-id:somedataset.sometable .
Se si tratta di una cartella principale di Cloud Storage, fornisci il nome della cartella principale. |
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 (salta la scrittura 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 . Valore predefinito: WRITE_EMPTY .
|
partitioningScheme |
(Facoltativo) Lo schema di partizione durante la scrittura del file. Il valore predefinito
di questo parametro è DAILY . Altri valori per il parametro
possono essere MONTHLY o HOURLY . |
partitionColumn |
(Facoltativo) La colonna della partizione su cui si basa la partizione. Il
tipo di colonna deve essere nel formato timestamp/date . Se il
parammetro partitionColumn non viene fornito, i dati non verranno
suddivisi. |
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) Se aggiornare i metadati di Dataplex per le entità appena create. Il valore predefinito di questo parametro è
Se questa opzione è attivata, la pipeline copia automaticamente lo schema dalle entità Dataplex di origine alle entità Dataplex di destinazione e il rilevamento automatico di Dataplex non viene eseguito per queste entità. Utilizza questo flag nei casi in cui hai gestito lo schema all'origine. Supportato solo per la destinazione Cloud Storage. |
Esegui il modello
Console
Nella console Google Cloud, vai alla pagina Dataplex:
Vai alla visualizzazione Procedura.
Fai clic su Crea attività.
In Importa JDBC in Dataplex, fai clic su Crea attività.
Scegli un lake Dataplex.
Fornisci un nome per l'attività.
Scegli una regione per l'esecuzione delle attività.
Compila i parametri richiesti.
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 output asset ID
API REST
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": { "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 output asset ID
Passaggi successivi
- Scopri come gestire il tuo lago.
- Scopri come gestire le zone.