Dataplex bietet Vorlagen (unterstützt von Dataflow) um gängige Datenverarbeitungsaufgaben wie Datenaufnahme, -verarbeitung und Verwaltung des Datenlebenszyklus. In diesem Leitfaden wird beschrieben, wie Sie eine Vorlage, die Daten über eine JDBC-Verbindung aufnimmt.
Hinweis
Dataplex-Aufgabenvorlagen werden von Dataflow unterstützt. Aktivieren Sie die Dataflow APIs, bevor Sie Vorlagen verwenden.
Vorlage: Daten über eine JDBC-Verbindung in Dataplex aufnehmen
Die Dataplex-JDBC-Aufnahmevorlage kopiert Daten aus einer relationalen Datenbank in ein Dataplex-Asset-Ziel. Dataplex Asset kann ein Cloud Storage-Asset oder ein BigQuery-Asset sein.
Diese Pipeline verwendet JDBC, um eine Verbindung zur relationalen Datenbank herzustellen. Als zusätzliche Schutzmaßnahme können Sie auch einen Cloud KMS-Schlüssel zusammen mit einem Base64-codierten Nutzernamen, Passwort und Verbindungsstring-Parametern übergeben, die mit dem Cloud KMS-Schlüssel verschlüsselt sind.
Die Vorlage verarbeitet die verschiedenen Asset-Typen transparent. Daten, die auf der Cloud Storage-Asset ist nach Hive-Format partitioniert und Dataplex Bei Discovery werden sie automatisch als Tabelle in Data Catalog, BigQuery (externe Tabelle), oder eine angehängte Dataproc Metastore-Instanz.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
driverJars |
Trennen Sie Cloud Storage-Pfade für JDBC-Treiber mit Kommas.
Beispiel: gs://your-bucket/driver_jar1.jar ,
gs://your-bucket/driver_jar2.jar. |
connectionURL |
Der URL-Verbindungsstring für die Verbindung zur JDBC-Quelle.
Beispiel: jdbc:mysql://some-host:3306/sampledb .
Sie können die Verbindungs-URL als Nur-Text- oder Base64-codierte mit Cloud KMS verschlüsselter String. |
driverClassName |
Der Name der JDBC-Treiberklasse.
Beispiel: com.mysql.jdbc.Driver . |
connectionProperties |
Der Attributstring, der für die JDBC-Verbindung verwendet werden soll.
Beispiel: unicode=true&characterEncoding=UTF-8 . |
query |
Die Abfrage, die in der Quelle ausgeführt werden soll, um die Daten zu extrahieren.
Beispiel: select * from sampledb.sample_table . |
outputAsset |
Die Dataplex-Ausgabe-Asset-ID, in der die Ergebnisse angezeigt werden
gespeichert sind. Verwenden Sie für die ID das Format projects/your-project/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name></code> . Sie finden die outputAsset in der Google Cloud Console auf dem Tab Details des Dataplex-Assets. |
username |
Der Nutzername, der für die JDBC-Verbindung verwendet werden soll. Sie können die Nutzernamen als Nur-Text oder als Base64-codierte Zeichenfolge verschlüsselt durch Cloud KMS |
password |
Das für die JDBC-Verbindung zu verwendende Passwort. Sie können die Passwort als Klartext oder als Base64-codierten String Cloud KMS |
outputTable |
Der Speicherort der BigQuery-Tabelle oder der Name des Cloud Storage-Oberordners, in den die Ausgabe geschrieben werden soll. Wenn es sich um eine
Tabellenspeicherort befindet, muss das Schema der Tabelle mit dem Schema der Quellabfrage übereinstimmen und
muss das Format some-project-id:somedataset.sometable haben.
Wenn es sich um einen übergeordneten Cloud Storage-Ordner handelt, geben Sie den Namen des übergeordneten Ordners an. |
KMSEncryptionKey |
Optional: Wenn Sie den Parameter KMSEncryptionKey angeben, müssen password , username und connectionURL mit Cloud KMS verschlüsselt sein. Verschlüsseln
diese Parameter mithilfe des Verschlüsselungsendpunkts der Cloud KMS API. Für
Beispiel: projects/your-project/locations/global/keyRings/test/cryptoKeys/quickstart . |
writeDisposition |
Optional: Die Strategie, die angewendet werden soll, wenn die Zieldatei/-tabelle vorhanden ist. Unterstützt
Formate sind WRITE_APPEND (Zeilen werden an angehängt, wenn Tabelle
vorhanden), WRITE_TRUNCATE (Tabelle/Datei wird überschrieben),
WRITE_EMPTY (Ausgabetabelle muss leer sein/Ausgabedatei darf nicht leer sein)
vorhanden) und SKIP (überspringe das Schreiben in die Datei, falls vorhanden). Für
BigQuery, zulässige Formate sind: WRITE_APPEND ,
WRITE_TRUNCATE , WRITE_EMPTY . Für Cloud Storage sind folgende Formate zulässig: SKIP , WRITE_TRUNCATE , WRITE_EMPTY . Standardeinstellung: WRITE_EMPTY .
|
partitioningScheme |
(Optional) Das Partitionsschema beim Schreiben der Datei. Der Standardwert
für diesen Parameter ist DAILY . Andere Werte für den Parameter können MONTHLY oder HOURLY sein. |
partitionColumn |
Optional: Die Partitionsspalte, auf der die Partition basiert. Die
Der Spaltentyp muss das Format timestamp/date haben. Wenn der Parameter
Wenn der Parameter partitionColumn nicht angegeben ist, werden keine Daten erfasst.
partitioniert sind. |
fileFormat |
(Optional) Das Ausgabedateiformat in Cloud Storage. Dateien sind
mit der Standardeinstellung "Snappy compression" komprimiert. Der Standardwert für diesen Parameter ist PARQUET . Ein weiterer Wert für den Parameter ist AVRO . |
updateDataplexMetadata |
Optional: Ob die Dataplex-Metadaten für die neu erstellten Entitäten aktualisiert werden sollen. Der Standardwert für diesen Parameter ist Wenn diese Option aktiviert ist, kopiert die Pipeline das Schema automatisch von der Quelle in die Ziel-Dataplex-Entitäten. Die automatische Dataplex-Entdeckung wird für sie nicht ausgeführt. Verwenden Sie dieses Flag, wenn Sie das Schema an der Quelle verwaltet haben. Nur für Cloud Storage-Ziele unterstützt. |
Führen Sie die Vorlage aus.
Console
Rufen Sie in der Google Cloud Console die Seite „Dataplex“ auf:
Rufen Sie die Ansicht Process (Prozess) auf.
Klicken Sie auf Aufgabe erstellen.
Klicken Sie unter JDBC in Dataplex aufnehmen auf Aufgabe erstellen.
Wählen Sie einen Dataplex-Lake aus.
Geben Sie einen Aufgabennamen an.
Wählen Sie eine Region für die Aufgabenausführung aus.
Geben Sie die erforderlichen Parameter an.
Klicken Sie auf Weiter.
gcloud
Ersetzen Sie Folgendes:
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
Führen Sie die Vorlage in der Shell oder im Terminal aus:
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\
REST API
Ersetzen Sie Folgendes:
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
Senden Sie eine HTTP-POST-Anfrage:
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", } }