Vorlage für Hive zu Cloud Storage
Verwenden Sie die Vorlage „Dataproc Serverless Hive zu Cloud Storage“, um Daten aus Hive nach Cloud Storage zu extrahieren.
Vorlage verwenden
Führen Sie die Vorlage über die gcloud CLI oder die Dataproc API aus.
gcloud
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
- PROJECT_ID: erforderlich. Ihre Google Cloud-Projekt-ID, die in den IAM-Einstellungen aufgeführt ist.
- REGION: erforderlich. Compute Engine-Region.
- 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
(besuchen Sie gs://dataproc-templates-binaries oder führen Siegsutil ls gs://dataproc-templates-binaries
aus, um eine Liste der verfügbaren Vorlagenversionen aufzulisten). - SUBNET: Optional. Wenn kein Subnetz angegeben ist, wird das Subnetz in der angegebenen REGION im
default
-Netzwerk ausgewählt.Beispiel:
projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
- HOST und PORT: Erforderlich.
Hostname oder IP-Adresse und Port des Hive-Quelldatenbankhosts.
Beispiel:
10.0.0.33
- TABLE: erforderlich. Name der Hive-Eingabetabelle.
- DATABASE: erforderlich. Name der Hive-Eingabedatenbank.
- CLOUD_STORAGE_OUTPUT_PATH: erforderlich. Cloud Storage-Pfad, unter dem die Ausgabe gespeichert wird.
Beispiel:
gs://dataproc-templates/hive_to_cloud_storage_output
- FORMAT: Optional. Ausgabedatenformat. Optionen:
avro
,parquet
,csv
oderjson
. Standardeinstellung:avro
. Hinweis: Wennavro
, müssen Siefile:///usr/lib/spark/external/spark-avro.jar
dem gcloud CLI-Flag oder API-Feldjars
hinzufügen.Beispiel (das Präfix
file://
verweist auf eine Dataproc Serverless-JAR-Datei):--jars=file:///usr/lib/spark/external/spark-avro.jar,
[, ... weitere Gläser] - HIVE_PARTITION_COLUMN: Optional. Spalte zum Partitionieren von Hive-Daten.
- MODE: erforderlich. Schreibmodus für die Cloud Storage-Ausgabe.
Optionen:
append
,overwrite
,ignore
odererrorifexists
. - SERVICE_ACCOUNT: Optional. Wenn nicht angegeben, wird das Compute Engine-Standarddienstkonto verwendet.
- PROPERTY und PROPERTY_VALUE: Optional. Durch Kommas getrennte Liste mit Paaren aus Spark-Attribut=
value
. - 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. Standardwert: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 die ruhenden Daten mit einem von Google verwalteten Schlüssel verschlüsselt.
Beispiel:
projects/PROJECT_ID/regions/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Führen Sie den 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" \ --subnet="SUBNET" \ --kms-key="KMS_KEY" \ --service-account="SERVICE_ACCOUNT" \ --properties="spark.hadoop.hive.metastore.uris=thrift://HOST:PORT,PROPERTY=PROPERTY_VALUE" \ --labels="LABEL=LABEL_VALUE" \ -- --template=HIVETOGCS \ --templateProperty log.level="LOG_LEVEL" \ --templateProperty hive.input.table="TABLE" \ --templateProperty hive.input.db="DATABASE" \ --templateProperty hive.gcs.output.path="CLOUD_STORAGE_OUTPUT_PATH" \ --templateProperty hive.gcs.output.format="FORMAT" \ --templateProperty hive.partition.col="HIVE_PARTITION_COLUMN" \ --templateProperty hive.gcs.save.mode="MODE"
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" ` --subnet="SUBNET" ` --kms-key="KMS_KEY" ` --service-account="SERVICE_ACCOUNT" ` --properties="spark.hadoop.hive.metastore.uris=thrift://HOST:PORT,PROPERTY=PROPERTY_VALUE" ` --labels="LABEL=LABEL_VALUE" ` -- --template=HIVETOGCS ` --templateProperty log.level="LOG_LEVEL" ` --templateProperty hive.input.table="TABLE" ` --templateProperty hive.input.db="DATABASE" ` --templateProperty hive.gcs.output.path="CLOUD_STORAGE_OUTPUT_PATH" ` --templateProperty hive.gcs.output.format="FORMAT" ` --templateProperty hive.partition.col="HIVE_PARTITION_COLUMN" ` --templateProperty hive.gcs.save.mode="MODE"
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" ^ --subnet="SUBNET" ^ --kms-key="KMS_KEY" ^ --service-account="SERVICE_ACCOUNT" ^ --properties="spark.hadoop.hive.metastore.uris=thrift://HOST:PORT,PROPERTY=PROPERTY_VALUE" ^ --labels="LABEL=LABEL_VALUE" ^ -- --template=HIVETOGCS ^ --templateProperty log.level="LOG_LEVEL" ^ --templateProperty hive.input.table="TABLE" ^ --templateProperty hive.input.db="DATABASE" ^ --templateProperty hive.gcs.output.path="CLOUD_STORAGE_OUTPUT_PATH" ^ --templateProperty hive.gcs.output.format="FORMAT" ^ --templateProperty hive.partition.col="HIVE_PARTITION_COLUMN" ^ --templateProperty hive.gcs.save.mode="MODE"
REST
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- PROJECT_ID: erforderlich. Ihre Google Cloud-Projekt-ID, die in den IAM-Einstellungen aufgeführt ist.
- REGION: erforderlich. Compute Engine-Region.
- 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
(besuchen Sie gs://dataproc-templates-binaries oder führen Siegsutil ls gs://dataproc-templates-binaries
aus, um eine Liste der verfügbaren Vorlagenversionen aufzulisten). - SUBNET: Optional. Wenn kein Subnetz angegeben ist, wird das Subnetz in der angegebenen REGION im
default
-Netzwerk ausgewählt.Beispiel:
projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
- HOST und PORT: Erforderlich.
Hostname oder IP-Adresse und Port des Hive-Quelldatenbankhosts.
Beispiel:
10.0.0.33
- TABLE: erforderlich. Name der Hive-Eingabetabelle.
- DATABASE: erforderlich. Name der Hive-Eingabedatenbank.
- CLOUD_STORAGE_OUTPUT_PATH: erforderlich. Cloud Storage-Pfad, unter dem die Ausgabe gespeichert wird.
Beispiel:
gs://dataproc-templates/hive_to_cloud_storage_output
- FORMAT: Optional. Ausgabedatenformat. Optionen:
avro
,parquet
,csv
oderjson
. Standardeinstellung:avro
. Hinweis: Wennavro
, müssen Siefile:///usr/lib/spark/external/spark-avro.jar
dem gcloud CLI-Flag oder API-Feldjars
hinzufügen.Beispiel (das Präfix
file://
verweist auf eine Dataproc Serverless-JAR-Datei):--jars=file:///usr/lib/spark/external/spark-avro.jar,
[, ... weitere Gläser] - HIVE_PARTITION_COLUMN: Optional. Spalte zum Partitionieren von Hive-Daten.
- MODE: erforderlich. Schreibmodus für die Cloud Storage-Ausgabe.
Optionen:
append
,overwrite
,ignore
odererrorifexists
. - SERVICE_ACCOUNT: Optional. Wenn nicht angegeben, wird das Compute Engine-Standarddienstkonto verwendet.
- PROPERTY und PROPERTY_VALUE: Optional. Durch Kommas getrennte Liste mit Paaren aus Spark-Attribut=
value
. - 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. Standardwert: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 die ruhenden Daten 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 der Anfrage:
{ "environmentConfig":{ "executionConfig":{ "subnetworkUri":"SUBNET", "kmsKey": "KMS_KEY", "serviceAccount": "SERVICE_ACCOUNT" } }, "labels": { "LABEL": "LABEL_VALUE" }, "runtimeConfig": { "version": "1.1", "properties": { "spark.hadoop.hive.metastore.uris":"thrift://HOST:PORT", "PROPERTY": "PROPERTY_VALUE" } }, "sparkBatch":{ "mainClass":"com.google.cloud.dataproc.templates.main.DataProcTemplate", "args":[ "--template","HIVETOGCS", "--templateProperty","log.level=LOG_LEVEL", "--templateProperty","hive.input.table=TABLE", "--templateProperty","hive.input.db=DATABASE", "--templateProperty","hive.gcs.output.path=CLOUD_STORAGE_OUTPUT_PATH", "--templateProperty","hive.gcs.output.format=FORMAT", "--templateProperty","hive.partition.col=HIVE_PARTITION_COLUMN", "--templateProperty","hive.gcs.save.mode=MODE" ], "jarFileUris":[ "file:///usr/lib/spark/external/spark-avro.jar", "gs://dataproc-templates-binaries/TEMPLATE_VERSION/java/dataproc-templates.jar" ] } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort 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" } }