Vorlage „Cloud Storage für Cloud Storage“
Serverlosen Dataproc-Cloud Storage für Cloud Storage verwenden Vorlage zum Extrahieren von Daten aus Cloud Storage in Cloud Storage.
Vorlage verwenden
Vorlage über die gcloud CLI oder Dataproc ausführen der API erstellen.
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- PROJECT_ID: erforderlich. Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt ist.
- REGION: erforderlich. Compute Engine-Region
- SUBNET: Optional. Wenn kein Subnetz angegeben ist,
in der angegebenen REGION im Netzwerk
default
ausgewählt ist.Beispiel:
projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
- TEMPLATE_VERSION: erforderlich. Geben Sie
latest
als aktuelle Vorlagenversion oder das Datum einer bestimmten Version, z. B.2023-03-17_v0.1.0-beta
(siehe gs://dataproc-templates-binaries) oder führen Siegcloud storage ls gs://dataproc-templates-binaries
aus, um die verfügbaren Vorlagenversionen aufzulisten. - CLOUD_STORAGE_INPUT_PATH: erforderlich. Cloud Storage-Pfad, aus dem Eingabedaten gelesen werden.
Beispiel:
gs://example-bucket/example-folder/
- FORMAT: erforderlich. Format für Eingabedaten. Optionen:
avro
,parquet
oderorc
Hinweis: Wennavro
, müssen Sie demjars
-Flag oderjars
-API-Feld der gcloud CLI „file:///usr/lib/spark/external/spark-avro.jar
“ hinzufügen.Beispiel (das Präfix
file://
verweist auf eine JAR-Datei von Dataproc Serverless):--jars=file:///usr/lib/spark/external/spark-avro.jar,
[ ... other jars] -
CLOUD_STORAGE_OUTPUT_PATH:
Erforderlich. Cloud Storage-Pfad, unter dem die Ausgabe gespeichert wird.
Beispiel:
gs://example-bucket/example-folder/
-
OUTPUT_FILE_FORMAT:
Erforderlich. Ausgabedatenformat. Optionen:
avro
,csv
,parquet
,json
oderorc
Hinweis: Wennavro
, müssen Sie demjars
-Flag oder API-Feld der gcloud CLI „file:///usr/lib/spark/external/spark-avro.jar
“ hinzufügen.Beispiel (das Präfix
file://
verweist auf eine Dataproc Serverless-JAR-Datei):--jars=file:///usr/lib/spark/external/spark-avro.jar,
[ ... other jars] -
MODE:
Erforderlich. Schreibmodus für Cloud Storage-Ausgabe.
Optionen:
Append
,Overwrite
,Ignore
oderErrorIfExists
. - TEMP_TABLE und TEMP_QUERY: Optional. Mit diesen beiden optionalen Parametern können Sie beim Laden von Daten in Cloud Storage eine Spark SQL-Transformation anwenden. TEMP_TABLE ist der Name der temporären Ansicht und TEMP_QUERY ist die Abfrageanweisung. TEMP_TABLE und der Tabellenname in TEMP_QUERY müssen übereinstimmen.
- SERVICE_ACCOUNT: Optional. Falls nicht angegeben, Compute Engine-Standarddienstkonto verwendet wird.
- PROPERTY und PROPERTY_VALUE:
Optional. Durch Kommas getrennte Liste von Spark-Property=
value
-Paaren. - LABEL und LABEL_VALUE:
Optional. Durch Kommas getrennte Liste von
label
=value
-Paaren. - LOG_LEVEL: Optional. Protokollebene. Kann
ALL
,DEBUG
,ERROR
,FATAL
,INFO
,OFF
,TRACE
oderWARN
sein. Standardeinstellung:INFO
. -
KMS_KEY: Optional. Der Cloud Key Management Service-Schlüssel, der für die Verschlüsselung verwendet werden soll. Wenn kein Schlüssel angegeben ist, werden ruhende Daten mit einem Schlüssel verschlüsselt, der Google gehört und von Google verwaltet wird.
Beispiel:
projects/PROJECT_ID/regions/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud dataproc batches submit spark \ --class=com.google.cloud.dataproc.templates.main.DataProcTemplate \ --version="1.1" \ --project="PROJECT_ID" \ --region="REGION" \ --jars="gs://dataproc-templates-binaries/TEMPLATE_VERSION/java/dataproc-templates.jar,file:///usr/lib/spark/external/spark-avro.jar" \ --subnet="SUBNET" \ --kms-key="KMS_KEY" \ --service-account="SERVICE_ACCOUNT" \ --properties="PROPERTY=PROPERTY_VALUE" \ --labels="LABEL=LABEL_VALUE" \ -- --template=GCSTOGCS \ --templateProperty log.level="LOG_LEVEL" \ --templateProperty project.id="PROJECT_ID" \ --templateProperty gcs.gcs.input.location="CLOUD_STORAGE_INPUT_PATH" \ --templateProperty gcs.gcs.input.format="INPUT_FILE_FORMAT" \ --templateProperty gcs.gcs.output.location="CLOUD_STORAGE_OUTPUT_PATH" \ --templateProperty gcs.gcs.output.format="OUTPUT_FILE_FORMAT" \ --templateProperty gcs.gcs.write.mode="MODE" \ --templateProperty gcs.gcs.temp.table="TEMP_TABLE" \ --templateProperty gcs.gcs.temp.query="TEMP_QUERY"
Windows (PowerShell)
gcloud dataproc batches submit spark ` --class=com.google.cloud.dataproc.templates.main.DataProcTemplate ` --version="1.1" ` --project="PROJECT_ID" ` --region="REGION" ` --jars="gs://dataproc-templates-binaries/TEMPLATE_VERSION/java/dataproc-templates.jar,file:///usr/lib/spark/external/spark-avro.jar" ` --subnet="SUBNET" ` --kms-key="KMS_KEY" ` --service-account="SERVICE_ACCOUNT" ` --properties="PROPERTY=PROPERTY_VALUE" ` --labels="LABEL=LABEL_VALUE" ` -- --template=GCSTOGCS ` --templateProperty log.level="LOG_LEVEL" ` --templateProperty project.id="PROJECT_ID" ` --templateProperty gcs.gcs.input.location="CLOUD_STORAGE_INPUT_PATH" ` --templateProperty gcs.gcs.input.format="INPUT_FILE_FORMAT" ` --templateProperty gcs.gcs.output.location="CLOUD_STORAGE_OUTPUT_PATH" ` --templateProperty gcs.gcs.output.format="OUTPUT_FILE_FORMAT" ` --templateProperty gcs.gcs.write.mode="MODE" ` --templateProperty gcs.gcs.temp.table="TEMP_TABLE" ` --templateProperty gcs.gcs.temp.query="TEMP_QUERY"
Windows (cmd.exe)
gcloud dataproc batches submit spark ^ --class=com.google.cloud.dataproc.templates.main.DataProcTemplate ^ --version="1.1" ^ --project="PROJECT_ID" ^ --region="REGION" ^ --jars="gs://dataproc-templates-binaries/TEMPLATE_VERSION/java/dataproc-templates.jar,file:///usr/lib/spark/external/spark-avro.jar" ^ --subnet="SUBNET" ^ --kms-key="KMS_KEY" ^ --service-account="SERVICE_ACCOUNT" ^ --properties="PROPERTY=PROPERTY_VALUE" ^ --labels="LABEL=LABEL_VALUE" ^ -- --template=GCSTOGCS ^ --templateProperty log.level="LOG_LEVEL" ^ --templateProperty project.id="PROJECT_ID" ^ --templateProperty gcs.gcs.input.location="CLOUD_STORAGE_INPUT_PATH" ^ --templateProperty gcs.gcs.input.format="INPUT_FILE_FORMAT" ^ --templateProperty gcs.gcs.output.location="CLOUD_STORAGE_OUTPUT_PATH" ^ --templateProperty gcs.gcs.output.format="OUTPUT_FILE_FORMAT" ^ --templateProperty gcs.gcs.write.mode="MODE" ^ --templateProperty gcs.gcs.temp.table="TEMP_TABLE" ^ --templateProperty gcs.gcs.temp.query="TEMP_QUERY"
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: erforderlich. Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt ist.
- REGION: erforderlich. Compute Engine-Region
- SUBNET: Optional. Wenn kein Subnetz angegeben ist,
in der angegebenen REGION im Netzwerk
default
ausgewählt ist.Beispiel:
projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
- TEMPLATE_VERSION: erforderlich. Geben Sie
latest
für die neueste Vorlagenversion oder das Datum einer bestimmten Version an, z. B.2023-03-17_v0.1.0-beta
. Rufen Sie gs://dataproc-templates-binaries auf oder führen Siegcloud storage ls gs://dataproc-templates-binaries
aus, um eine Liste der verfügbaren Vorlagenversionen aufzurufen. - CLOUD_STORAGE_INPUT_PATH: erforderlich. Cloud Storage-Pfad, aus dem Eingabedaten gelesen werden.
Beispiel:
gs://example-bucket/example-folder/
- FORMAT: erforderlich. Format für Eingabedaten. Optionen:
avro
,parquet
oderorc
Hinweis: Wennavro
, müssen Sie demjars
-Flag oderjars
-API-Feld der gcloud CLI „file:///usr/lib/spark/external/spark-avro.jar
“ hinzufügen.Beispiel (das Präfix
file://
verweist auf eine JAR-Datei von Dataproc Serverless):--jars=file:///usr/lib/spark/external/spark-avro.jar,
[ ... other jars] -
CLOUD_STORAGE_OUTPUT_PATH:
Erforderlich. Cloud Storage-Pfad, unter dem die Ausgabe gespeichert wird.
Beispiel:
gs://example-bucket/example-folder/
-
OUTPUT_FILE_FORMAT:
Erforderlich. Ausgabedatenformat. Optionen:
avro
,csv
,parquet
,json
oderorc
Hinweis: Wennavro
, müssen Sie demjars
-Flag oder API-Feld der gcloud CLI „file:///usr/lib/spark/external/spark-avro.jar
“ hinzufügen.Beispiel (das Präfix
file://
verweist auf eine Dataproc Serverless-JAR-Datei):--jars=file:///usr/lib/spark/external/spark-avro.jar,
[ ... other jars] -
MODE:
Erforderlich. Schreibmodus für Cloud Storage-Ausgabe.
Optionen:
Append
,Overwrite
,Ignore
oderErrorIfExists
. - TEMP_TABLE und TEMP_QUERY: Optional. Mit diesen beiden optionalen Parametern können Sie beim Laden von Daten in Cloud Storage eine Spark SQL-Transformation anwenden. TEMP_TABLE ist der Name der temporären Ansicht und TEMP_QUERY ist die Abfrageanweisung. TEMP_TABLE und der Tabellenname in TEMP_QUERY müssen übereinstimmen.
- SERVICE_ACCOUNT: Optional. Falls nicht angegeben, Compute Engine-Standarddienstkonto verwendet wird.
- PROPERTY und PROPERTY_VALUE:
Optional. Durch Kommas getrennte Liste von
Spark property=
value
-Paare. - LABEL und LABEL_VALUE:
Optional. Durch Kommas getrennte Liste von
label
=value
-Paaren. - LOG_LEVEL: Optional. Protokollebene. Kann
ALL
,DEBUG
,ERROR
,FATAL
,INFO
,OFF
,TRACE
oderWARN
sein. Standardeinstellung:INFO
. -
KMS_KEY: Optional. Der Cloud Key Management Service-Schlüssel, der für die Verschlüsselung verwendet werden soll. Wenn kein Schlüssel angegeben ist, werden Daten im inaktiven Zustand mit einem von Google verwalteten Schlüssel verschlüsselt.
Beispiel:
projects/PROJECT_ID/regions/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
HTTP-Methode und URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/batches
JSON-Text anfordern:
{ "environmentConfig":{ "executionConfig":{ "subnetworkUri":"SUBNET", "kmsKey": "KMS_KEY", "serviceAccount": "SERVICE_ACCOUNT" } }, "labels": { "LABEL": "LABEL_VALUE" }, "runtimeConfig": { "version": "1.1", "properties": { "PROPERTY": "PROPERTY_VALUE" } }, "sparkBatch": { "mainClass": "com.google.cloud.dataproc.templates.main.DataProcTemplate", "args": [ "--template","GCSTOGCS", "--templateProperty","project.id=PROJECT_ID", "--templateProperty","log.level=LOG_LEVEL", "--templateProperty","gcs.gcs.input.location=CLOUD_STORAGE_INPUT_PATH", "--templateProperty","gcs.gcs.input.format=INPUT_FILE_FORMAT", "--templateProperty","gcs.gcs.output.location=CLOUD_STORAGE_OUTPUT_PATH", "--templateProperty","gcs.gcs.output.format=OUTPUT_FILE_FORMAT", "--templateProperty","gcs.gcs.write.mode=MODE", "--templateProperty","gcs.gcs.temp.table=TEMP_TABLE", "--templateProperty","gcs.gcs.temp.query=TEMP_QUERY" ], "jarFileUris":[ "gs://dataproc-templates-binaries/TEMPLATE_VERSION/java/dataproc-templates.jar", "file:///usr/lib/spark/external/spark-avro.jar" ] } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_ID/regions/REGION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.dataproc.v1.BatchOperationMetadata", "batch": "projects/PROJECT_ID/locations/REGION/batches/BATCH_ID", "batchUuid": "de8af8d4-3599-4a7c-915c-798201ed1583", "createTime": "2023-02-24T03:31:03.440329Z", "operationType": "BATCH", "description": "Batch" } }