Daten mit Vorlagen verarbeiten

Dataplex stellt Vorlagen bereit, die auf Dataflow basieren, um gängige Datenverarbeitungsaufgaben wie Datenaufnahme, -verarbeitung und den Datenlebenszyklus verwaltet. In diesem Leitfaden wird beschrieben, wie Sie Daten konfigurieren und ausführen Vorlagen verarbeitet werden.

Hinweis

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

Dataflow APIs aktivieren

Hinweise

  • Alle Vorlagen unterstützen allgemeine Dataflow-Pipelineoptionen.

  • Dataplex verwendet Datenpipelines. um die durch die Vorlagen definierten Aufgaben zu planen.

  • Auf der Seite Dataplex der Google Cloud Console sehen Sie nur Aufgaben, die Sie über Dataplex planen.

Vorlage: Rohdaten in ausgewählte Daten konvertieren

Die Dataplex-Datei zur Konvertierung des Dateiformats konvertiert Daten in eine Dataplex-Cloud Storage-Asset oder eine Liste von Dataplex-Entitäten, die im CSV- oder JSON-Format gespeichert sind, in Parquet oder Avro format-data in einem anderen Dataplex-Asset. 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 sollte 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 sollte verwenden Sie das folgende Format: PARQUET oder AVRO.
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 im Tab „Details“ des Dataplex-Assets.
outputFileCompression Optional: Komprimierung der Ausgabedatei. Der Standardwert für diese ist SNAPPY. Andere Werte für den Parameter sind UNCOMPRESSED, SNAPPY, GZIP oder BZIP2. BZIP2 wird nicht unterstützt für PARQUET Dateien.
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: 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 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 Process (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

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

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

REST API

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

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

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 eine BigQuery-Dataset oder eine Liste von BigQuery-Tabellen zu kopieren. 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 von partitionierten Tabellen von BigQuery in Cloud Storage:

  • Die Vorlage erstellt Partitionen im Hive-Stil im Cloud Storage-Bucket. In BigQuery darf der Partitionsschlüssel im Hive-Format nicht mit einer vorhandenen Spalte identisch sein. Sie können die Option enforceSamePartitionKey, um entweder einen neuen Partitionsschlüssel zu erstellen oder den Partitionsschlüssel an, benennen aber die vorhandene Spalte um.
  • Dataplex Discovery registriert den Partitionstyp als string, wenn eine BigQuery-Tabelle (und eine Tabelle im Dataproc Metastore) erstellt wird. Das kann sich auf Ihre vorhandene Partition auswirken Filter.

Die Anzahl der Tabellen und Partitionen, die transformiert werden können, ist begrenzt mit einer einzelnen Vorlagenausführung durchführen, was etwa 300 entspricht. 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 abgestuft werden sollen. Dieser Parameter sollte entweder einen Dataplex-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>.
destinationStorageBucketAssetName Der Dataplex-Asset-Name für den Cloud Storage-Bucket um Daten zu stufen. Dieser Parameter sollte dem Format projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> entsprechen.
tables Optional: Eine durch Kommas getrennte Liste der BigQuery-Tabellen, die in Stufen unterteilt werden sollen. Wenn keine Liste angegeben ist, werden alle Tabellen in Stufen unterteilt. Tabellen sollten nur anhand ihres Namens angegeben werden (kein Projekt-/Dataset-Präfix). Dabei wird die Groß-/Kleinschreibung berücksichtigt.
exportDataModifiedBeforeDateTime Optional: Verwenden Sie diesen Parameter, um Daten zu verschieben, die älter als dieses Datum sind (und optionale Zeit). Bei partitionierten BigQuery-Tabellen: der Partitionen wurden vor diesem Datum/dieser Uhrzeit zuletzt geändert. Für nicht partitionierte Tabellen verschieben, wenn die Tabelle vor diesem Datum bzw. dieser Uhrzeit zuletzt geändert wurde. Falls nicht verschieben Sie alle Tabellen/Partitionen. 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 oder YYYY-MM-DDTHH:mm:ss oder YYYY-MM-DDTHH:mm:ss+03:00 Relativ Datum/Uhrzeit wird ebenfalls unterstützt und sollte 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. Standardeinstellung Der Wert für diesen Parameter ist PARQUET. Ein weiterer Wert für die kann AVRO sein.
fileCompression Optional: Komprimierung der Ausgabedatei. Der Standardwert für diese 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 aus BigQuery gelöscht werden sollen nach einem erfolgreichen Export. Mögliche Werte sind true oder false. Der Standardwert für diesen Parameter ist false
partitionIdRegExp Optional: Verarbeiten Sie Partitionen mit einer Partitions-ID, die dieser regulären Partitions-ID entspricht. -Ausdruck enthalten. 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., eine oder mehrere Tabellen/Partitionen wurden bereits vorverteilt. Der Standardwert für diesen Parameter ist SKIP. welche Signale vorhanden sind, nur die Tabellen/Partitionen zu verarbeiten, bereits vorab abgestuft. 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: Gibt an, ob derselbe Partitionsschlüssel erzwungen werden soll. Aufgrund eines Aufgrund der BigQuery-Einschränkung ist es nicht möglich, dass die Partition (im Dateipfad) in einer partitionierten externen Tabelle, um denselben als eine der Spalten in der Datei. Wenn dieser Parameter wahr ist (was ist der Standardwert), wird der Partitionierungsschlüssel der Zieldatei auf den und die Spalte in der Datei wird 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 Zieldateipfad gs://<bucket>/TS_pid=<partition ID>/<file>, Der Spaltenname wird jedoch als TS in der Datei beibehalten.

updateDataplexMetadata

Optional: Gibt an, ob Dataplex-Metadaten für die neu erstellten Entitäten. Der Standardwert für diesen Parameter ist false

Wenn diese Option aktiviert ist, kopiert die Pipeline das Schema automatisch aus der Quelle zu den Dataplex-Zielentitäten und den automatisierten Dataplex Discovery 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 Tier from BQ to GCS Assets (Von BQ- zu GCS-Assets abstufen) auf Create Task (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

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

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

REST API

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

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

Andere von Google bereitgestellte oder benutzerdefinierte Dataflow-Vorlagen planen

Mit Dataplex können Sie alle Von Google Cloud bereitgestellte Dataflow-Vorlagen oder Ihre benutzerdefinierten Dataflow-Vorlage in der Console.

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. Geben Sie die erforderlichen Parameter an.

  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 Process (Prozess) auf.

  3. Klicken Sie auf Dataflow-Pipelines.

  4. Nach See- oder Pipelinenamen filtern