Daten mit Vorlagen verarbeiten

Knowledge Catalog (ehemals Dataplex Universal Catalog) bietet Vorlagen, die auf Dataflow basieren, um häufige Datenverarbeitungsaufgaben wie die Aufnahme, Verarbeitung und Verwaltung des Datenlebenszyklus auszuführen. In diesem Leitfaden wird beschrieben, wie Sie Vorlagen für die Datenverarbeitung konfigurieren und ausführen.

Hinweis

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

Dataflow APIs aktivieren

Wichtige Hinweise:

  • Alle Vorlagen unterstützen allgemeine Dataflow-Pipelineoptionen.

  • Knowledge Catalog verwendet Data Pipelines, um die in den Vorlagen definierten Aufgaben zu planen.

  • Sie können nur Aufgaben sehen, die Sie über Knowledge Catalog in der Google Cloud Console auf der Seite Knowledge Catalog geplant haben.

Vorlage: Rohdaten in ausgewählte Daten umwandeln

Mit der Vorlage zur Konvertierung des Dateiformats für den Wissenskatalog werden Daten in einem Cloud Storage-Asset des Wissenskatalogs oder eine Liste von Wissenskatalog-Entitäten, die im CSV- oder JSON-Format gespeichert sind, in Daten im Parquet- oder Avro-Format in einem anderen Wissenskatalog-Asset konvertiert. Das Partitionslayout wird bei der Konvertierung beibehalten. Außerdem wird die Komprimierung der Ausgabedateien unterstützt.

Vorlagenparameter

Parameter Beschreibung
inputAssetOrEntitiesList Das Knowledge Catalog-Asset oder die Knowledge Catalog-Entitäten, die die Eingabedateien enthalten. 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 Format PARQUET oder AVRO haben.
outputAsset Der Name des Knowledge Catalog-Assets, das den Cloud Storage-Bucket enthält, in dem Ausgabedateien gespeichert werden. Dieser Parameter muss das Format projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> haben. Sie finden die outputAsset in der Google Cloud -Konsole auf dem Tab „Asset“ des Wissenskatalogs Details.
outputFileCompression Optional: Die Komprimierung der Ausgabedatei. Der Standardwert für diesen Parameter ist SNAPPY. Andere Werte für den Parameter können UNCOMPRESSED, SNAPPY, GZIP oder BZIP2 sein. 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. Das bedeutet, dass nur Dateien verarbeitet werden, die nicht im Zielverzeichnis vorhanden sind. Andere Werte für den Parameter können OVERWRITE (alle vorhandenen Dateien überschreiben) oder FAIL (nichts verarbeiten und einen Fehler ausgeben, wenn mindestens eine Zieldatei bereits vorhanden ist) sein.
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 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 Knowledge Catalog-Seite Verarbeiten auf.

    Zur Seite „Prozess“

  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 von Aufgaben 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 verschieben

Mit der Vorlage „Knowledge Catalog BigQuery für 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 Sie mit der Vorlage Daten kopieren, die älter als ein angegebenes Änderungsdatum sind. Außerdem können Sie Daten nach dem erfolgreichen Kopieren optional aus BigQuery löschen.

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

  • Mit der Vorlage werden Partitionen im Hive-Stil im Cloud Storage-Bucket erstellt. Der Hive-Partitionsschlüssel darf in BigQuery nicht mit einer vorhandenen Spalte identisch sein. Mit der Option enforceSamePartitionKey können Sie entweder einen neuen Partitionsschlüssel erstellen oder den vorhandenen Partitionsschlüssel beibehalten, aber die vorhandene Spalte umbenennen.
  • Bei der Erstellung einer BigQuery-Tabelle (und einer Tabelle im Dataproc-Metastore) wird der Partitionstyp von Knowledge Catalog Discovery als string registriert. Das 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 in eine andere Speicherebene verschoben werden sollen. Dieser Parameter muss entweder einen Knowledge Catalog-Asset-Namen 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 Name des Knowledge Catalog-Assets für den Cloud Storage-Bucket, in den Daten verschoben werden sollen. Dieser Parameter muss dem Format projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> entsprechen.
tables Optional: Eine durch Kommas getrennte Liste von BigQuery-Tabellen, die in Ebenen eingeteilt werden sollen. Wenn keine Liste angegeben ist, werden alle Tabellen in Stufen eingeteilt. Tabellen müssen nur mit ihrem Namen angegeben werden (kein Projekt- oder Dataset-Präfix) und bei Tabellennamen wird die Groß-/Kleinschreibung berücksichtigt.
exportDataModifiedBeforeDateTime Optional: Mit diesem Parameter können Sie Daten verschieben, die älter als dieses Datum (und optional diese Uhrzeit) sind. Bei partitionierten BigQuery-Tabellen werden Partitionen verschoben, die vor diesem Datum/Uhrzeit zuletzt geändert wurden. Bei nicht partitionierten Tabellen wird die Tabelle verschoben, wenn sie vor diesem Datum/Uhrzeit zuletzt geändert wurde. Wenn nicht angegeben, werden alle Tabellen/Partitionen verschoben. Das Datum/die Uhrzeit wird standardmäßig in der Standardzeitzone geparst. Die optionalen Suffixe Z und +HH:mm werden jedoch unterstützt. Dieser Parameter muss das Format YYYY-MM-DD, YYYY-MM-DDTHH:mm:ss oder YYYY-MM-DDTHH:mm:ss+03:00 haben. Relative Datums-/Uhrzeitangaben werden ebenfalls unterstützt und müssen dem Format -PnDTnHnMn.nS entsprechen (muss mit -P beginnen, was auf eine Zeit in der Vergangenheit hinweist).
fileFormat Optional: Das Ausgabedateiformat in Cloud Storage. Der Standardwert für diesen Parameter ist PARQUET. Ein weiterer Wert für den Parameter kann AVRO sein.
fileCompression Optional: Die Komprimierung der Ausgabedatei. Der Standardwert für diesen Parameter ist SNAPPY. Andere Werte für den Parameter können UNCOMPRESSED, SNAPPY, GZIP oder BZIP2 sein. 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 und 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, wird standardmäßig „Alle verarbeiten“ verwendet.
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 in eine niedrigere Stufe verschoben wurden. Der Standardwert für diesen Parameter ist SKIP. Das bedeutet, dass nur Tabellen/Partitionen verarbeitet werden, die noch nicht in Ebenen eingeteilt wurden. Andere Werte für den Parameter können OVERWRITE (alle vorhandenen Dateien überschreiben) oder FAIL (nichts verarbeiten und einen Fehler ausgeben, wenn mindestens eine Zieldatei bereits vorhanden ist) sein.
enforceSamePartitionKey

Optional: Gibt an, ob derselbe Partitionsschlüssel erzwungen werden soll. Aufgrund einer BigQuery-Einschränkung darf der Partitionsschlü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 Partitionsschlüssel der Zieldatei auf den ursprünglichen Namen der Partitionierungsspalte gesetzt und die Spalte in der Datei wird umbenannt. Wenn „false“, wird der Partitionierungsschlüssel umbenannt.

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

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

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 Dataplex-Zielentitäten kopiert und die automatische Knowledge Catalog-Ermittlung wird für diese Entitäten 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 Knowledge Catalog-Seite Verarbeiten auf.

    Zur Seite „Prozess“

  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 von Aufgaben 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 von Google Cloudbereitgestellte oder benutzerdefinierte Dataflow-Vorlagen planen

Mit Knowledge Catalog können Sie alle vonGoogle Cloudbereitgestellten Dataflow-Vorlagen oder Ihre benutzerdefinierte Dataflow-Vorlage in der Konsole planen und überwachen.

Zeitplan

Console

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

    Zur Seite „Prozess“

  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 Knowledge Catalog-Seite Verarbeiten auf.

    Zur Seite „Prozess“

  2. Klicken Sie auf Dataflow-Pipelines.

  3. Nach Lake- oder Pipelinename filtern