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.
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 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
Rufen Sie in der Google Cloud Console die Knowledge Catalog-Seite Verarbeiten auf.
Klicken Sie auf Aufgabe erstellen.
Klicken Sie unter In ausgewählte Formate konvertieren auf Aufgabe erstellen.
Wählen Sie einen Knowledge Catalog-Lake aus.
Geben Sie einen Namen für die Aufgabe an.
Wählen Sie eine Region für die Ausführung von Aufgaben aus.
Füllen Sie die erforderlichen Parameter aus.
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
enforceSamePartitionKeykö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
stringregistriert. 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 Wenn |
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 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
Rufen Sie in der Google Cloud Console die Knowledge Catalog-Seite Verarbeiten auf.
Klicken Sie auf Aufgabe erstellen.
Klicken Sie unter Von BQ- in GCS-Assets verlagern auf Aufgabe erstellen.
Wählen Sie einen Knowledge Catalog-Lake aus.
Geben Sie einen Namen für die Aufgabe an.
Wählen Sie eine Region für die Ausführung von Aufgaben aus.
Füllen Sie die erforderlichen Parameter aus.
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
Rufen Sie in der Google Cloud Console die Knowledge Catalog-Seite Verarbeiten auf.
Klicken Sie auf Aufgabe erstellen.
Klicken Sie unter Dataflow-Pipeline erstellen auf Dataflow-Pipeline erstellen.
Wählen Sie einen Knowledge Catalog-Lake aus.
Geben Sie einen Namen für die Aufgabe an.
Wählen Sie eine Region für die Ausführung der Aufgabe aus.
Wählen Sie eine Dataflow-Vorlage aus.
Füllen Sie die erforderlichen Parameter aus.
Klicken Sie auf Weiter.
Überwachen
Console
Rufen Sie in der Google Cloud Console die Knowledge Catalog-Seite Verarbeiten auf.
Klicken Sie auf Dataflow-Pipelines.
Nach Lake- oder Pipelinename filtern