Vorlage "Hive zu BigQuery"
Verwenden Sie die Vorlage „Dataproc Serverless Hive für BigQuery“ zum Extrahieren Daten aus Hive in BigQuery importieren.
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. Ihre Google Cloud-Projekt-ID, aufgeführt in die IAM-Einstellungen.
- 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 eine Liste der verfügbaren Vorlagenversionen aufzurufen. - 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:9083
- DATASET: erforderlich. Name des BigQuery-Ausgabe-Datasets.
- TABLE: erforderlich. Name der BigQuery-Ausgabetabelle.
- QUERY: erforderlich. Abfrage zum Extrahieren von Daten aus Hive
- TEMP_BUCKET: erforderlich. Cloud Storage-Bucket name (geben Sie nur den Namen des Buckets an). Dieser Bucket wird für das Laden in BigQuery verwendet.
- MODE: erforderlich. Schreibmodus für BigQuery-Ausgabe.
Optionen:
Append
,Overwrite
,Ignore
, oderErrorIfExists
. - TEMPVIEW und TEMPVIEW_SQL_QUERY: Optional. Mit diesen beiden optionalen Parametern können Sie beim Laden von Daten in BigQuery eine Spark SQL-Transformation anwenden. TEMPVIEW ist der Name der temporären Ansicht und TEMPVIEW_SQL_QUERY ist die Abfrageanweisung. TEMPVIEW und der Tabellenname in TEMPVIEW_SQL_QUERY müssen übereinstimmen.
- SERVICE_ACCOUNT: Optional. Wenn nicht angegeben, wird das Compute Engine-Standarddienstkonto verwendet.
- 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. Protokollierungsebene. Kann einer der folgenden Werte sein:
ALL
,DEBUG
,ERROR
,FATAL
,INFO
OFF
,TRACE
oderWARN
. Standardeinstellung:INFO
. -
KMS_KEY: Optional. Cloud Key Management Service für die Verschlüsselung. 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" \ --subnet="SUBNET" \ --service-account="SERVICE_ACCOUNT" \ --properties="spark.hadoop.hive.metastore.uris=thrift://HOST:PORT,PROPERTY=PROPERTY_VALUE" \ --kms-key="KMS_KEY" \ --labels="LABEL=LABEL_VALUE" \ -- --template HIVETOBIGQUERY \ --templateProperty log.level="LOG_LEVEL" \ --templateProperty hivetobq.bigquery.location="PROJECT_ID.DATASET.TABLE" \ --templateProperty hivetobq.sql="QUERY" \ --templateProperty hivetobq.temp.gcs.bucket="TEMP_BUCKET" \ --templateProperty hivetobq.write.mode="MODE" \ --templateProperty hivetobq.temp.table="TEMPVIEW" \ --templateProperty hivetobq.temp.query="TEMPVIEW_SQL_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" ` --subnet="SUBNET" ` --service-account="SERVICE_ACCOUNT" ` --properties="spark.hadoop.hive.metastore.uris=thrift://HOST:PORT,PROPERTY=PROPERTY_VALUE" ` --kms-key="KMS_KEY" ` --labels="LABEL=LABEL_VALUE" ` -- --template HIVETOBIGQUERY ` --templateProperty log.level="LOG_LEVEL" ` --templateProperty hivetobq.bigquery.location="PROJECT_ID.DATASET.TABLE" ` --templateProperty hivetobq.sql="QUERY" ` --templateProperty hivetobq.temp.gcs.bucket="TEMP_BUCKET" ` --templateProperty hivetobq.write.mode="MODE" ` --templateProperty hivetobq.temp.table="TEMPVIEW" ` --templateProperty hivetobq.temp.query="TEMPVIEW_SQL_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" ^ --subnet="SUBNET" ^ --service-account="SERVICE_ACCOUNT" ^ --properties="spark.hadoop.hive.metastore.uris=thrift://HOST:PORT,PROPERTY=PROPERTY_VALUE" ^ --kms-key="KMS_KEY" ^ --labels="LABEL=LABEL_VALUE" ^ -- --template HIVETOBIGQUERY ^ --templateProperty log.level="LOG_LEVEL" ^ --templateProperty hivetobq.bigquery.location="PROJECT_ID.DATASET.TABLE" ^ --templateProperty hivetobq.sql="QUERY" ^ --templateProperty hivetobq.temp.gcs.bucket="TEMP_BUCKET" ^ --templateProperty hivetobq.write.mode="MODE" ^ --templateProperty hivetobq.temp.table="TEMPVIEW" ^ --templateProperty hivetobq.temp.query="TEMPVIEW_SQL_QUERY"
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: erforderlich. Ihre Google Cloud-Projekt-ID, aufgeführt in die IAM-Einstellungen.
- 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 eine Liste der verfügbaren Vorlagenversionen aufzurufen. - 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:9083
- DATASET: erforderlich. Name des BigQuery-Ausgabe-Datasets.
- TABLE: erforderlich. Name der BigQuery-Ausgabetabelle.
- QUERY: erforderlich. Abfrage zum Extrahieren von Daten aus Hive
- TEMP_BUCKET: erforderlich. Cloud Storage-Bucket name (geben Sie nur den Namen des Buckets an). Dieser Bucket wird für das Laden in BigQuery verwendet.
- MODE: erforderlich. Schreibmodus für BigQuery-Ausgabe.
Optionen:
Append
,Overwrite
,Ignore
, oderErrorIfExists
. - TEMPVIEW und TEMPVIEW_SQL_QUERY: Optional. Mit diesen beiden optionalen Parametern können Sie beim Laden von Daten in BigQuery eine Spark SQL-Transformation anwenden. TEMPVIEW ist der Name der temporären Ansicht und TEMPVIEW_SQL_QUERY ist die Abfrageanweisung. TEMPVIEW und der Tabellenname in TEMPVIEW_SQL_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. Protokollierungsebene. Kann einer der folgenden Werte sein:
ALL
,DEBUG
,ERROR
,FATAL
,INFO
OFF
,TRACE
oderWARN
. Standardeinstellung:INFO
. -
KMS_KEY: Optional. Cloud Key Management Service, 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": { "spark.hadoop.hive.metastore.uris":"thrift://HOST:PORT", "PROPERTY": "PROPERTY_VALUE" } }, "sparkBatch":{ "mainClass":"com.google.cloud.dataproc.templates.main.DataProcTemplate", "args":[ "--template","HIVETOBIGQUERY", "--templateProperty","log.level=LOG_LEVEL", "--templateProperty","hivetobq.bigquery.location=PROJECT_ID.DATASET.TABLE", "--templateProperty","hivetobq.sql=QUERY", "--templateProperty","hivetobq.temp.gcs.bucket=TEMP_BUCKET", "--templateProperty","hivetobq.write.mode=MODE", "--templateProperty","hivetobq.temp.table=TEMPVIEW", "--templateProperty","hivetobq.temp.query=TEMPVIEW_SQL_QUERY" ], "jarFileUris":[ "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" } }