Daten mit Vorlagen verarbeiten

Knowledge Catalog (ehemals Dataplex Universal Catalog) bietet Vorlagen, die auf Dataflow basieren, um gängige Datenverarbeitungsaufgaben wie Datenaufnahme, -verarbeitung und -lebenszyklusverwaltung auszuführen. In dieser Anleitung wird beschrieben, wie Sie Datenverarbeitungsvorlagen konfigurieren und ausführen.

Hinweis

Knowledge Catalog-Vorlagen basieren auf Dataflow. Aktivieren Sie die Dataflow APIs, bevor Sie Vorlagen verwenden.

Dataflow APIs aktivieren

Wichtige Hinweise:

  • Alle Vorlagen unterstützen gängige Dataflow-Pipelineoptionen.

  • Knowledge Catalog verwendet Datenpipelines um die in den Vorlagen definierten Aufgaben zu planen.

  • Aufgaben, die Sie über Knowledge Catalog planen, werden in der Google Cloud Console nur auf der Seite Knowledge Catalog angezeigt.

Vorlage: Rohdaten in ausgewählte Daten konvertieren

Mit der Knowledge Catalog-Vorlage zur Konvertierung von Dateiformaten werden Daten in einem Knowledge Catalog Cloud Storage-Asset oder eine Liste von Knowledge Catalog-Entitäten, die im CSV- oder JSON-Format gespeichert sind, in einem anderen Knowledge Catalog-Asset in das Parquet- oder Avro-Format konvertiert. Das Partitionierungslayout bleibt bei der Konvertierung erhalten. Außerdem wird die Komprimierung der Ausgabedateien unterstützt.

Vorlagenparameter

Parameter Beschreibung
inputAssetOrEntitiesList Das Knowledge Catalog-Asset oder die Knowledge Catalog-Entitäten, die enthalten die Eingabedateien. Dieser Parameter muss das folgende Format haben: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> oder projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/entities/<entity1-name>,projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/entities/<entity 2 name>...
outputFileFormat Das Ausgabedateiformat in Cloud Storage. Dieser Parameter muss das folgende Format haben: PARQUET oder AVRO.
outputAsset Der Name des Knowledge Catalog-Assets, das den Cloud Storage-Bucket enthält, in dem Ausgabedateien gespeichert werden. Dieser Parameter muss das folgende Format haben: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>. Sie finden das outputAsset in der Google Cloud Console auf dem Tab Details des Knowledge Catalog-Assets.
outputFileCompression Optional: Die Komprimierung der Ausgabedatei. Der Standardwert für diesen Parameter ist SNAPPY. Weitere mögliche Werte für den Parameter sind UNCOMPRESSED, SNAPPY, GZIP oder BZIP2. BZIP2 wird für PARQUET Dateien nicht unterstützt.
writeDisposition Optional: Gibt die Aktion an, die ausgeführt wird, wenn eine Zieldatei bereits vorhanden ist. Der Standardwert für diesen Parameter ist SKIP, Damit werden nur Dateien verarbeitet, die nicht im Zielverzeichnis vorhanden sind. Weitere mögliche Werte für den Parameter sind OVERWRITE (alle vorhandenen Dateien überschreiben) oder FAIL (nichts verarbeiten und einen Fehler erzeugen, wenn mindestens eine Zieldatei bereits vorhanden ist).
updateDataplexMetadata

Optional: Gibt an, ob Knowledge Catalog-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 automatisch das Schema von der Quelle in die Ziel-Knowledge Catalog-Entitäten und die automatische Knowledge Catalog-Erkennung wird für diese nicht ausgeführt. Verwenden Sie dieses Flag, wenn das Schema der Quelldaten (Rohdaten) von Knowledge Catalog verwaltet wird.

Führen Sie die Vorlage aus.

Console

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

    Zu „Verarbeiten“

  2. Klicken Sie auf Aufgabe erstellen.

  3. Klicken Sie unter In ausgewählte Formate konvertieren 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 der Aufgabe aus.

  7. Füllen Sie die erforderlichen Parameter aus.

  8. Klicken Sie auf Weiter.

gcloud

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_File_Format_Conversion_Preview \
--parameters \
inputAssetOrEntitiesList=INPUT_ASSET_OR_ENTITIES_LIST,\
outputFileFormat=OUTPUT_FILE_FORMAT,\
outputAsset=OUTPUT_ASSET

Ersetzen Sie Folgendes:

JOB_NAME: a job name of your choice
PROJECT_ID: your template project ID
REGION_NAME: region in which to run the job
INPUT_ASSET_OR_ENTITIES_LIST: path to your JDBC drivers
OUTPUT_FILE_FORMAT: your output file format in Cloud Storage
OUTPUT_ASSET: your Knowledge Catalog output asset ID

REST

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": {
        "inputAssetOrEntitiesList": "INPUT_ASSET_OR_ENTITIES_LIST",
        "outputFileFormat": "OUTPUT_FILE_FORMAT",
        "outputAsset": "OUTPUT_ASSET",
    },
    "containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_File_Format_Conversion_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
INPUT_ASSET_OR_ENTITIES_LIST: path to your JDBC drivers
OUTPUT_FILE_FORMAT: your output file format in Cloud Storage
OUTPUT_ASSET: your Knowledge Catalog output asset ID

Vorlage: Daten aus einem BigQuery-Asset in ein Cloud Storage-Asset verlagern

Mit der Knowledge Catalog-Vorlage „BigQuery zu Cloud Storage“ werden Daten aus einem Knowledge Catalog-BigQuery-Asset in ein Knowledge Catalog-Cloud Storage-Asset in einem Knowledge Catalog-kompatiblen Layout und Format kopiert. Sie können ein BigQuery-Dataset oder eine Liste von BigQuery-Tabellen angeben, die kopiert werden sollen. Für zusätzliche Flexibilität können mit der Vorlage Daten kopiert werden, die älter als ein bestimmtes Änderungsdatum sind. Außerdem können Daten nach dem Kopieren optional aus BigQuery gelöscht werden.

Beim Kopieren partitionierter Tabellen aus BigQuery in Cloud Storage gilt Folgendes:

  • Mit der Vorlage werden Hive-ähnliche Partitionen im Cloud Storage-Bucket erstellt. In BigQuery darf der Hive-ähnliche Partitionierungsschlüssel nicht mit einer vorhandenen Spalte übereinstimmen. Mit der Option enforceSamePartitionKey können Sie entweder einen neuen Partitionierungsschlüssel erstellen oder den gleichen Partitionierungsschlüssel beibehalten, aber die vorhandene Spalte umbenennen.
  • Bei der Erstellung einer BigQuery-Tabelle (und einer Tabelle in Dataproc Metastore) wird der Partitionstyp von Knowledge Catalog Discovery als string registriert. Dies kann sich auf Ihre vorhandenen Partitionsfilter auswirken.

Die Anzahl der Tabellen und Partitionen, die in einem einzelnen Vorlagendurchlauf transformiert werden können, ist auf etwa 300 begrenzt. Die genaue Anzahl hängt von der Länge der Tabellennamen und anderen Faktoren ab.

Vorlagenparameter

Parameter Beschreibung
sourceBigQueryDataset Das BigQuery-Dataset, aus dem Daten verlagert werden sollen. Dieser Parameter muss entweder einen Knowledge Catalog-Assetnamen im Format projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> oder eine BigQuery-Dataset-ID im Format projects/<name>/datasets/<dataset-id> enthalten.
destinationStorageBucketAssetName Der Knowledge Catalog-Assetname für den Cloud Storage-Bucket in den Daten verlagert werden sollen. Dieser Parameter muss das folgende Format haben: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>.
tables Optional: Eine durch Kommas getrennte Liste der BigQuery-Tabellen, die verlagert werden sollen. Wenn keine Liste angegeben ist, werden alle Tabellen verlagert. Tabellen müssen nur mit ihrem Namen angegeben werden (kein Projekt- oder Dataset-Präfix). Bei Tabellennamen wird die Groß-/Kleinschreibung berücksichtigt.
exportDataModifiedBeforeDateTime Optional: Mit diesem Parameter können Sie Daten verschieben, die älter als dieses Datum (und die optionale Uhrzeit) sind. Bei partitionierten BigQuery-Tabellen werden Partitionen verschoben, die zuletzt vor diesem Datum/dieser Uhrzeit geändert wurden. Bei nicht partitionierten Tabellen werden sie verschoben, wenn sie zuletzt vor diesem Datum/dieser Uhrzeit geändert wurden. Wenn nicht angegeben, werden alle Tabellen/Partitionen verschoben. Datum und Uhrzeit werden standardmäßig in der Standardzeitzone geparst. Optionale Suffixe Z und +HH:mm werden jedoch unterstützt. Dieser Parameter muss das Format YYYY-MM-DD oder YYYY-MM-DDTHH:mm:ss oder YYYY-MM-DDTHH:mm:ss+03:00 haben. Relative Datums-/Uhrzeitangaben werden ebenfalls unterstützt und müssen das Format -PnDTnHnMn.nS haben (muss mit -P beginnen, was eine Zeit in der Vergangenheit angibt).
fileFormat Optional: Das Ausgabedateiformat in Cloud Storage. Der Standardwert für diesen Parameter ist PARQUET. Ein weiterer möglicher Wert für den Parameter ist AVRO.
fileCompression Optional: Die Komprimierung der Ausgabedatei. Der Standardwert für diesen Parameter ist SNAPPY. Weitere mögliche Werte für den Parameter sind UNCOMPRESSED, SNAPPY, GZIP oder BZIP2. BZIP2 wird für PARQUET Dateien nicht unterstützt.
deleteSourceData Optional: Gibt an, ob Quelldaten nach einem erfolgreichen Export aus BigQuery gelöscht werden sollen. Mögliche Werte sind true oder false. Der Standardwert für diesen Parameter ist false.
partitionIdRegExp Optional: Verarbeiten Sie nur Partitionen, deren Partitions-ID mit diesem regulären Ausdruck übereinstimmt. Wenn kein Wert angegeben ist, werden standardmäßig alle Partitionen verarbeitet.
writeDisposition Optional: Gibt die Aktion an, die ausgeführt wird, wenn eine Zieldatei bereits vorhanden ist, d. h., wenn eine oder mehrere Tabellen/Partitionen bereits vorab verlagert wurden. Der Standardwert für diesen Parameter ist SKIP, damit werden nur Tabellen/Partitionen verarbeitet, die noch nicht vorab verlagert wurden. Weitere mögliche Werte für den Parameter sind OVERWRITE (alle vorhandenen Dateien überschreiben) oder FAIL (nichts verarbeiten und einen Fehler erzeugen, wenn mindestens eine Zieldatei bereits vorhanden ist).
enforceSamePartitionKey

Optional: Gibt an, ob derselbe Partitionierungsschlüssel erzwungen werden soll. Aufgrund einer BigQuery-Einschränkung kann der Partitionierungsschlüssel (im Dateipfad) in einer partitionierten externen Tabelle nicht denselben Namen wie eine der Spalten in der Datei haben. Wenn dieser Parameter auf „true“ gesetzt ist (Standardwert), wird der Partitionierungsschlüssel der Zieldatei auf den ursprünglichen Namen der Partitionierungsspalte gesetzt und die Spalte in der Datei wird umbenannt. Wenn der Parameter auf „false“ gesetzt ist, wird der Partitionierungsschlüssel umbenannt.

Wenn die ursprüngliche Tabelle beispielsweise nach einer Spalte mit dem Namen TS partitioniert ist und enforceSamePartitionKey=true festgelegt ist, lautet der Zielpfad der Datei gs://<bucket>/TS=<partition ID>/<file> und die Spalte wird in der Datei in TS_pkey umbenannt. So können vorhandene Abfragen für dieselben Partitionen in der alten oder der neuen Tabelle ausgeführt werden.

Wenn enforceSamePartitionKey=false festgelegt ist, lautet der Zielpfad der Datei gs://<bucket>/TS_pid=<partition ID>/<file>, der Spaltenname in der Datei bleibt jedoch TS.

updateDataplexMetadata

Optional: Gibt an, ob Knowledge Catalog-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 automatisch das Schema von der Quelle in die Ziel-Dataplex-Entitäten und die automatische Knowledge Catalog-Erkennung wird für diese nicht ausgeführt. Verwenden Sie dieses Flag, wenn Sie das Schema der BigQuery-Quelltabelle verwalten.

Führen Sie die Vorlage aus.

Console

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

    Zu „Verarbeiten“

  2. Klicken Sie auf Aufgabe erstellen.

  3. Klicken Sie unter Von BQ- in GCS-Assets verlagern 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 der Aufgabe aus.

  7. Füllen Sie die erforderlichen Parameter aus.

  8. Klicken Sie auf Weiter.

gcloud

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_BigQuery_to_GCS_Preview \
--parameters \
sourceBigQueryDataset=SOURCE_ASSET_NAME_OR_DATASET_ID,\
destinationStorageBucketAssetName=DESTINATION_ASSET_NAME

Ersetzen Sie Folgendes:

JOB_NAME: a job name of your choice
PROJECT_ID: your template project ID
REGION_NAME: region in which to run the job
SOURCE_ASSET_NAME_OR_DATASET_ID: your Knowledge Catalog asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Knowledge Catalog asset name for
the destination Cloud Storage bucket

REST

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": {
        "sourceBigQueryDataset": "SOURCE_ASSET_NAME_OR_DATASET_ID",
        "destinationStorageBucketAssetName": "DESTINATION_ASSET_NAME",
    },
    "containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_BigQuery_to_GCS_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
SOURCE_ASSET_NAME_OR_DATASET_ID: your Knowledge Catalog asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Knowledge Catalog asset name for
the destination Cloud Storage bucket
REGION_NAME: region in which to run the job

Andere Google Cloudoder benutzerdefinierte Dataflow-Vorlagen planen

Mit Knowledge Catalog können Sie alle von Google Cloud-bereitgestellten Dataflow-Vorlagen oder Ihre benutzerdefinierte Dataflow-Vorlage in der Console planen und überwachen.

Zeitplan

Console

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

    Zu „Verarbeiten“

  2. Klicken Sie auf Aufgabe erstellen.

  3. Klicken Sie unter Dataflow-Pipeline erstellen auf Dataflow-Pipeline 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 der Aufgabe aus.

  7. Wählen Sie eine Dataflow-Vorlage aus.

  8. Füllen Sie die erforderlichen Parameter aus.

  9. Klicken Sie auf Weiter.

Überwachen

Console

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

    Zu „Verarbeiten“

  2. Klicken Sie auf Dataflow-Pipelines.

  3. Filtern Sie nach Lake oder Pipelinename.