Mit Vorlagen aufnehmen

Knowledge Catalog (ehemals Dataplex Universal Catalog) bietet Vorlagen (basierend auf Dataflow) für häufige Datenverarbeitungsaufgaben wie Datenaufnahme, -verarbeitung und -lebenszyklusverwaltung. In dieser Anleitung wird beschrieben, wie Sie eine Vorlage konfigurieren und ausführen, mit der Daten über eine JDBC-Verbindung aufgenommen werden.

Hinweis

Knowledge Catalog-Aufgabenvorlagen basieren auf Dataflow. Bevor Sie Vorlagen verwenden, müssen Sie die Dataflow APIs aktivieren.

Dataflow APIs aktivieren

Vorlage: Daten über eine JDBC-Verbindung in den Knowledge Catalog aufnehmen

Mit der JDBC-Aufnahmevorlage für Knowledge Catalog werden Daten aus einer relationalen Datenbank in ein Knowledge Catalog-Asset-Ziel kopiert. Das Knowledge Catalog-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. Die im Cloud Storage-Asset gespeicherten Daten sind im Hive-Stil partitioniert und durch die Discovery-Funktion von Knowledge Catalog automatisch als Tabelle in Data Catalog (eingestellt), BigQuery (externe Tabelle) oder einer angehängten Dataproc Metastore-Instanz verfügbar.

Vorlagenparameter

Parameter Beschreibung
driverJars Trennen Sie Cloud Storage-Pfade für JDBC-Treiber durch Kommas.
Beispiele: gs://your-bucket/driver_jar1.jar, gs://your-bucket/driver_jar2.jar.
connectionURL Der URL-Verbindungs-String 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 ist.
driverClassName Der Name der JDBC-Treiberklasse.
Beispiel: com.mysql.jdbc.Driver.
connectionProperties Attributstring für die JDBC-Verbindung.
Beispiel: unicode=true&characterEncoding=UTF-8.
query Die Abfrage, die in der Quelle zur Extraktion der Daten ausgeführt wird.
Beispiel: select * from sampledb.sample_table.
outputAsset Die ID des Knowledge Catalog-Ausgabe-Assets, in dem die Ergebnisse 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 -Konsole auf dem Tab Details des Knowledge Catalog-Assets.
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 ist.
password Das Passwort für die JDBC-Verbindung. Sie können das Passwort als Nur-Text oder als Base64-codierten String übergeben, der mit Cloud KMS verschlüsselt ist.
outputTable Der Speicherort der BigQuery-Tabelle oder der Name des Cloud Storage-Ordners der obersten Ebene, in die die Ausgabe geschrieben werden soll. Wenn es sich um einen Speicherort für eine BigQuery-Tabelle handelt, muss das Schema der Tabelle mit dem Schema der Quellabfrage übereinstimmen und das Format some-project-id:somedataset.sometable haben. Wenn es sich um einen Cloud Storage-Ordner der obersten Ebene handelt, geben Sie den Namen des Ordners der obersten Ebene an.
KMSEncryptionKey Optional: Wenn Sie den Parameter KMSEncryptionKey angeben, müssen password, username und connectionURL mit Cloud KMS verschlüsselt sein. 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 Strategie, die angewendet werden soll, wenn die Zieldatei oder ‑tabelle vorhanden ist. Unterstützte Formate sind WRITE_APPEND (Zeilen werden angehängt, wenn die Tabelle vorhanden ist), WRITE_TRUNCATE (Tabelle/Datei wird überschrieben), WRITE_EMPTY (Ausgabetabelle muss leer sein/Ausgabedatei darf nicht vorhanden sein) und SKIP (das Schreiben in die Datei wird übersprungen, wenn sie vorhanden ist). Für BigQuery sind die folgenden Formate zulässig: WRITE_APPEND, WRITE_TRUNCATE, WRITE_EMPTY. Für Cloud Storage sind die folgenden Formate zulässig: SKIP, WRITE_TRUNCATE, WRITE_EMPTY. Standard: 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 wird, 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 die Knowledge Catalog-Metadaten für die neu erstellten Einheiten aktualisiert werden sollen. Der Standardwert für diesen Parameter ist false.

Wenn diese Option aktiviert ist, wird das Schema automatisch von der Quelle in die Zielentitäten des Knowledge Catalog kopiert und die automatische Knowledge Catalog-Erkennung wird für diese Entitäten nicht ausgeführt. Verwenden Sie dieses Flag, wenn Sie ein verwaltetes Schema an der Quelle haben.

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

Führen Sie die Vorlage aus.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Verarbeiten des Knowledge Catalog auf:

    Zur Seite „Prozess“

  2. Klicken Sie auf Aufgabe erstellen.

  3. Klicken Sie unter JDBC in Knowledge Catalog aufnehmen auf Aufgabe erstellen.

  4. Wählen Sie einen Knowledge Catalog-Lake aus.

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

  6. Wählen Sie eine Region für die Ausführung von Aufgaben aus.

  7. Füllen Sie die erforderlichen Parameter aus.

  8. Klicken Sie auf Weiter.

gcloud

Führen Sie die folgende 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\

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

REST API

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

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

Nächste Schritte