Vorlage „Hive für Cloud Storage“
Mit der Vorlage „Serverless for Apache Spark Hive to Cloud Storage“ können Sie Daten aus Hive in Cloud Storage extrahieren.
Vorlage verwenden
Führen Sie die Vorlage mit der gcloud CLI oder der Dataproc API aus.
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- PROJECT_ID: erforderlich. Die 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
. Rufen Sie gs://dataproc-templates-binaries auf oder führen Siegcloud storage ls gs://dataproc-templates-binaries
aus, um die 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 Quell-Hive-Datenbankhosts.
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, in 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/connector/spark-avro.jar
dem gcloud CLI-Flag oder API-Feldjars
hinzufügen.Beispiel (das Präfix
file://
verweist auf eine Serverless for Apache Spark-JAR-Datei):--jars=file:///usr/lib/spark/connector/spark-avro.jar,
[, ... other jars] - 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 von Spark-Eigenschaft=
value
-Paaren. - LABEL und LABEL_VALUE:
Optional. Durch Kommas getrennte Liste von
label
=value
-Paaren. - LOG_LEVEL: Optional. Ebene der Protokollierung. Kann einer der folgenden Werte sein:
ALL
,DEBUG
,ERROR
,FATAL
,INFO
,OFF
,TRACE
oderWARN
. Standard: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 mit einem Google-owned and Google-managed encryption keyim Ruhezustand verschlüsselt.
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.2" \ --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.2" ` --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.2" ^ --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
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: erforderlich. Die 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
. Rufen Sie gs://dataproc-templates-binaries auf oder führen Siegcloud storage ls gs://dataproc-templates-binaries
aus, um die 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 Quell-Hive-Datenbankhosts.
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, in 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/connector/spark-avro.jar
dem gcloud CLI-Flag oder API-Feldjars
hinzufügen.Beispiel (das Präfix
file://
verweist auf eine Serverless for Apache Spark-JAR-Datei):--jars=file:///usr/lib/spark/connector/spark-avro.jar,
[, ... other jars] - 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 von Spark-Eigenschaft=
value
-Paaren. - LABEL und LABEL_VALUE:
Optional. Durch Kommas getrennte Liste von
label
=value
-Paaren. - LOG_LEVEL: Optional. Ebene der Protokollierung. Kann einer der folgenden Werte sein:
ALL
,DEBUG
,ERROR
,FATAL
,INFO
,OFF
,TRACE
oderWARN
. Standard: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 mit einem Google-owned and Google-managed encryption keyim Ruhezustand 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.2", "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/connector/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 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" } }