Mit Vorlagen aufnehmen

Dataplex bietet Vorlagen (unterstützt von Dataflow), um gängige Datenverarbeitungsaufgaben wie die Datenaufnahme, die Verarbeitung und die Verwaltung des Datenlebenszyklus auszuführen. In diesem Leitfaden wird beschrieben, wie Sie eine Vorlage konfigurieren und ausführen, die Daten über eine JDBC-Verbindung aufnimmt.

Hinweise

Dataplex-Aufgabenvorlagen basieren auf Dataflow. Aktivieren Sie die Dataflow APIs, bevor Sie Vorlagen verwenden.

Dataflow APIs aktivieren

Vorlage: Daten über eine JDBC-Verbindung in Dataplex aufnehmen

Die Dataplex-JDBC-Aufnahmevorlage kopiert Daten aus einer relationalen Datenbank in ein Dataplex-Asset-Ziel. Das Dataplex-Asset kann ein Cloud Storage- oder ein BigQuery-Asset sein.

Diese Pipeline verwendet JDBC, um eine Verbindung zur relationalen Datenbank herzustellen. Für einen zusätzlichen Schutz können Sie auch einen Cloud KMS-Schlüssel zusammen mit einem base64-codierten Nutzernamen, Passwort und Verbindungsstringparametern übergeben, die mit dem Cloud KMS-Schlüssel verschlüsselt sind.

Die Vorlage behandelt transparent die verschiedenen Asset-Typen. Im Cloud Storage-Asset gespeicherte Daten sind im Hive-Stil partitioniert und Dataplex Discovery stellt sie automatisch als Tabelle in Data Catalog, BigQuery (externe Tabelle) oder eine angehängte Dataproc Metastore-Instanz zur Verfügung.

Vorlagenparameter

Parameter Beschreibung
driverJars Trennen Sie Cloud Storage-Pfade für JDBC-Treiber mit Kommas.
Beispiele: 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 als Base64-codierten String übergeben, der mit Cloud KMS verschlüsselt wird.
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 an 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 gespeichert werden. 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 Dataplex-Asset-Tab Details.
username Der Nutzername, der für die JDBC-Verbindung verwendet werden soll. Sie können den Nutzernamen als Nur-Text oder als Base64-codierten String übergeben, der mit Cloud KMS verschlüsselt wird.
password Das Passwort, das für die JDBC-Verbindung verwendet werden soll. Sie können das Passwort als Nur-Text oder als Base64-codierten String übergeben, der mit Cloud KMS verschlüsselt wird.
outputTable Der Speicherort der BigQuery-Tabelle oder der Name des obersten Cloud Storage-Ordners, in den die Ausgabe geschrieben werden soll. Wenn es sich um den Speicherort einer BigQuery-Tabelle handelt, muss das Schema der Tabelle mit dem Schema der Quellabfrage übereinstimmen und muss das Format some-project-id:somedataset.sometable haben. Wenn es der oberste Cloud Storage-Ordner ist, geben Sie den Namen des obersten Ordners an.
KMSEncryptionKey (Optional) Wenn Sie den Parameter KMSEncryptionKey angeben, müssen password, username und connectionURL durch Cloud KMS verschlüsselt werden. Verschlüsseln Sie diese Parameter mit dem Verschlüsselungsendpunkt der Cloud KMS API. Beispiel: projects/your-project/locations/global/keyRings/test/cryptoKeys/quickstart.
writeDisposition (Optional) Die zu verwendende Strategie, wenn die Zieldatei/-tabelle vorhanden ist. Unterstützte Formate sind WRITE_APPEND (Zeilen werden angehängt, wenn Tabelle vorhanden ist), WRITE_TRUNCATE (Tabelle/Datei wird überschrieben), WRITE_EMPTY (Ausgabetabelle muss leer sein/Ausgabedatei darf nicht vorhanden sein) und SKIP (Schreiben in die Datei überspringen, falls vorhanden). Für BigQuery sind folgende Formate zulässig: WRITE_APPEND, WRITE_TRUNCATE, WRITE_EMPTY. Für Cloud Storage sind folgende Formate zulässig: SKIP, WRITE_TRUNCATE, WRITE_EMPTY. Standardwert: 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. Der Spaltentyp muss das Format timestamp/date haben. Wenn der Parameter partitionColumn nicht angegeben ist, werden die Daten nicht partitioniert.
fileFormat (Optional) Das Ausgabedateiformat in Cloud Storage. Dateien werden mit der Standardeinstellung „Snappy-Komprimierung“ komprimiert. Der Standardwert für diesen Parameter ist PARQUET. Ein weiterer Wert für den Parameter ist AVRO.
updateDataplexMetadata

(Optional) Gibt an, ob Dataplex-Metadaten für die neu erstellten Entitäten aktualisiert werden sollen. Der Standardwert für diesen Parameter ist false.

Wenn diese Option aktiviert ist, kopiert die Pipeline das Schema automatisch aus der Quell- in die Dataplex-Zielentitäten. Die automatisierte Dataplex-Erkennung wird dann nicht für sie ausgeführt. Verwenden Sie dieses Flag, wenn Sie ein Schema an der Quelle verwaltet haben.

Wird nur für Cloud Storage-Ziel unterstützt.

Führen Sie die Vorlage aus.

Console

  1. Rufen Sie in der Google Cloud Console die Seite „Dataplex“ auf:

    Zu Dataplex

  2. Rufen Sie die Ansicht Prozess auf.

  3. Klicken Sie auf Create Task (Aufgabe erstellen).

  4. Klicken Sie unter JDBC in Dataplex aufnehmen auf Aufgabe erstellen.

  5. Wählen Sie einen Dataplex-Lake aus.

  6. Geben Sie einen Namen für die Aufgabe an.

  7. Wählen Sie eine Region für die Aufgabenausführung aus.

  8. Geben Sie die erforderlichen Parameter ein.

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

Nächste Schritte