Daten mit Vorlagen verarbeiten

Dataplex bietet Vorlagen, die auf Dataflow basieren, um gängige Datenverarbeitungsaufgaben wie die Datenaufnahme, Verarbeitung und Verwaltung des Datenlebenszyklus auszuführen. In diesem Leitfaden wird beschrieben, wie Sie Vorlagen für die Datenverarbeitung konfigurieren und ausführen.

Hinweise

Dataplex-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.

  • In Dataplex werden Datenpipelines verwendet, um die in den Vorlagen definierten Aufgaben zu planen.

  • Sie können nur Aufgaben sehen, die Sie über Dataplex planen, in der Google Cloud -Console auf der Seite Dataplex.

Vorlage: Rohdaten in ausgewählte Daten konvertieren

Mit der Dataplex-Vorlage für die Dateiformatkonvertierung werden Daten in einem Dataplex-Cloud Storage-Asset oder eine Liste von Dataplex-Entitäten, die im CSV- oder JSON-Format gespeichert sind, in Parquet- oder Avro-Formatdaten in einem anderen Dataplex-Asset konvertiert. Das Partitionslayout bleibt bei der Umwandlung erhalten. Außerdem wird die Komprimierung der Ausgabedateien unterstützt.

Vorlagenparameter

Parameter Beschreibung
inputAssetOrEntitiesList Das Dataplex-Asset oder die Dataplex-Entitäten, die die Eingabedateien enthalten. Dieser Parameter muss das Format 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>... haben.
outputFileFormat Das Ausgabedateiformat in Cloud Storage. Dieser Parameter muss das Format PARQUET oder AVRO haben.
outputAsset Der Name des Dataplex-Assets, das den Cloud Storage-Bucket enthält, in dem die 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 -Console auf dem Tab „Dataplex-Asset“Details.
outputFileCompression Optional: Komprimierung der Ausgabedatei. Der Standardwert für diesen Parameter ist SNAPPY. Weitere Werte für den Parameter sind UNCOMPRESSED, SNAPPY, GZIP oder BZIP2. BZIP2 wird für PARQUET-Dateien nicht unterstützt.
writeDisposition Optional: Gibt an, welche Aktion 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 im Zielverzeichnis nicht vorhanden sind. Andere Werte für den Parameter sind OVERWRITE (vorhandene Dateien überschreiben) oder FAIL (nichts verarbeiten und einen Fehler ausgeben, wenn mindestens eine Zieldatei bereits vorhanden ist).
updateDataplexMetadata

Optional: Gibt an, ob die 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 von der Quelle in die Ziel-Dataplex-Entitäten. Die automatische Dataplex-Erkennung wird für sie nicht ausgeführt. Verwenden Sie dieses Flag, wenn das Schema der Quell- (Roh-)Daten von Dataplex verwaltet wird.

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 Aufgabe erstellen.

  4. Klicken Sie unter In ausgewählte Formate konvertieren auf Aufgabe erstellen.

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

  6. Geben Sie einen Aufgabennamen an.

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

  8. Füllen Sie die erforderlichen Parameter aus.

  9. 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 Dataplex 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 Dataplex output asset ID

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

Mit der Dataplex-Vorlage „BigQuery für Cloud Storage“ werden Daten aus einem Dataplex BigQuery-Asset in ein Dataplex Cloud Storage-Asset in einem Dataplex-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 einem erfolgreichen Kopiervorgang optional aus BigQuery gelöscht werden.

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

  • Mit der Vorlage werden Partitionen im Hive-Format im Cloud Storage-Bucket erstellt. In BigQuery darf der Hive-Partitionsschlüssel nicht mit einer vorhandenen Spalte identisch sein. Mit der Option enforceSamePartitionKey können Sie entweder einen neuen Partitionsschlüssel erstellen oder denselben Partitionsschlüssel beibehalten, aber die vorhandene Spalte umbenennen.
  • Dataplex Discovery registriert den Partitionstyp als string, wenn eine BigQuery-Tabelle (und eine Tabelle im Dataproc Metastore) erstellt wird. Dies kann sich auf Ihre vorhandenen Partitionsfilter auswirken.

Die Anzahl der Tabellen und Partitionen, die in einem einzelnen Vorlagenlauf 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 Stufen unterteilt werden sollen. Dieser Parameter muss entweder den Namen eines Dataplex-Assets im Format projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> oder die ID eines BigQuery-Datasets im Format projects/<name>/datasets/<dataset-id> enthalten.
destinationStorageBucketAssetName Der Name des Dataplex-Assets für den Cloud Storage-Bucket, in den Daten gespeichert werden sollen. Dieser Parameter muss das Format projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> haben.
tables Optional: Eine durch Kommas getrennte Liste der BigQuery-Tabellen, die gruppiert werden sollen. Wenn keine Liste angegeben ist, werden alle Tabellen in Stufen unterteilt. 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 werden Daten verschoben, die älter als dieses Datum (und optional diese Uhrzeit) sind. Bei partitionierten BigQuery-Tabellen müssen Sie die Partitionen verschieben, die vor diesem Datum und dieser Uhrzeit zuletzt geändert wurden. Bei nicht partitionierten Tabellen werden Tabellen verschoben, wenn sie vor diesem Datum und dieser Uhrzeit zuletzt geändert wurden. Wenn nicht angegeben, werden alle Tabellen/Partitionen verschoben. Das Datum und die Uhrzeit werden 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. Relativ Datum/Uhrzeit wird ebenfalls unterstützt und muss dem Format -PnDTnHnMn.nS entsprechen (muss mit -P beginnen, was für eine Zeit in der Vergangenheit steht).
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: Komprimierung der Ausgabedatei. Der Standardwert für diesen Parameter ist SNAPPY. Andere Werte für den Parameter sind UNCOMPRESSED, SNAPPY, GZIP oder BZIP2. BZIP2 wird für PARQUET-Dateien nicht unterstützt.
deleteSourceData Optional: Ob Quelldaten nach einem erfolgreichen Export aus BigQuery gelöscht werden sollen. Werte können true oder false sein. Der Standardwert für diesen Parameter ist false.
partitionIdRegExp Optional: Nur Partitionen mit einer Partitions-ID verarbeiten, die mit diesem regulären Ausdruck übereinstimmt. Wenn kein Wert angegeben ist, wird standardmäßig „alle verarbeiten“ verwendet.
writeDisposition Optional: Gibt an, was passiert, wenn eine Zieldatei bereits vorhanden ist, d. h., eine oder mehrere Tabellen/Partitionen wurden bereits vorverteilt. Der Standardwert für diesen Parameter ist SKIP. Das bedeutet, dass nur Tabellen/Partitionen verarbeitet werden, die noch nicht vorverteilt wurden. Andere Werte für den Parameter sind OVERWRITE (vorhandene Dateien überschreiben) oder FAIL (nichts verarbeiten und einen Fehler ausgeben, wenn mindestens eine Zieldatei bereits vorhanden ist).
enforceSamePartitionKey

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

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

Wenn enforceSamePartitionKey=false, dann ist der Pfad der Zieldatei gs://<bucket>/TS_pid=<partition ID>/<file>, der Spaltenname wird jedoch in der Datei als TS beibehalten.

updateDataplexMetadata

Optional: Gibt an, ob die 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 von der Quelle in die Ziel-Dataplex-Entitäten. Die automatische Dataplex-Entdeckung wird für sie nicht ausgeführt. Verwenden Sie dieses Flag, wenn Sie das Schema der Quell-BigQuery-Tabellen verwalten.

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 Aufgabe erstellen.

  4. Klicken Sie unter Von BQ- in GCS-Assets verlagern auf Aufgabe erstellen.

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

  6. Geben Sie einen Aufgabennamen an.

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

  8. Füllen Sie die erforderlichen Parameter aus.

  9. 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 Dataplex asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex 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 Dataplex asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex 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 Dataplex können Sie in der Console alle vonGoogle Cloudbereitgestellten Dataflow-Vorlagen oder Ihre benutzerdefinierte Dataflow-Vorlage planen und überwachen.

Planen

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 Aufgabe erstellen.

  4. Klicken Sie unter Dataflow-Pipeline erstellen auf Dataflow-Pipeline erstellen.

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

  6. Geben Sie einen Aufgabennamen an.

  7. Wählen Sie eine Region aus, in der die Aufgabe ausgeführt werden soll.

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

  9. Füllen Sie die erforderlichen Parameter aus.

  10. Klicken Sie auf Weiter.

Überwachen

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 Dataflow-Pipelines.

  4. Nach See- oder Pipelinenamen filtern