Modello Da Hive in Cloud Storage
Usa il modello Dataproc serverless Hive in Cloud Storage per estrarre dati da Hive in Cloud Storage.
Utilizza il modello
Esegui il modello utilizzando gcloud CLI o Dataproc API.
gcloud
Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: campo obbligatorio. Il tuo ID progetto Google Cloud elencato in le impostazioni IAM.
- REGION: campo obbligatorio. Compute Engine regione.
- TEMPLATE_VERSION: campo obbligatorio. Specifica
latest
per il più recente versione del modello o la data di una versione specifica, ad esempio2023-03-17_v0.1.0-beta
(visita gs://dataproc-templates-binaries o eseguigsutil ls gs://dataproc-templates-binaries
per elencare le versioni dei modelli disponibili). - SUBNET: facoltativo. Se non viene specificata una subnet,
è selezionata nella REGIONE specificata nella rete
default
.Esempio:
projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
- HOST e PORT: obbligatori.
Nome host o indirizzo IP e porta dell'host del database Hive di origine.
Esempio:
10.0.0.33
- TABLE: campo obbligatorio. Nome tabella di input Hive.
- DATABASE: campo obbligatorio. Nome del database di input Hive.
- CLOUD_STORAGE_OUTPUT_PATH: campo obbligatorio. Cloud Storage
in cui verrà archiviato l'output.
Esempio:
gs://dataproc-templates/hive_to_cloud_storage_output
- FORMAT: facoltativo. Formato dei dati di output. Opzioni:
avro
,parquet
,csv
ojson
. Valore predefinito:avro
. Nota: seavro
, devi aggiungerefile:///usr/lib/spark/external/spark-avro.jar
al flag gcloud CLIjars
o al campo API.Esempio (il prefisso
file://
fa riferimento a un file jar di Dataproc serverless):--jars=file:///usr/lib/spark/external/spark-avro.jar,
[, ... altri barattoli] - HIVE_PARTITION_COLUMN: facoltativo. Colonna su la partizione dei dati Hive.
- MODE: campo obbligatorio. Modalità di scrittura per l'output di Cloud Storage.
Opzioni:
append
,overwrite
,ignore
, oerrorifexists
. - SERVICE_ACCOUNT: facoltativo. Se non viene specificato, il valore account di servizio Compute Engine predefinito .
- PROPERTY e PROPERTY_VALUE:
Facoltativa. Elenco separato da virgole di
Proprietà Spark=
value
coppie. - LABEL e LABEL_VALUE:
Facoltativa. Elenco separato da virgole di
label
=value
coppie. - LOG_LEVEL: facoltativo. Livello di logging. Può essere uno di
ALL
,DEBUG
,ERROR
,FATAL
,INFO
,OFF
,TRACE
oWARN
. Valore predefinito:INFO
. -
KMS_KEY: facoltativo. La chiave di Cloud Key Management Service da utilizzare per la crittografia. Se non viene specificata una chiave, i dati vengono criptati at-rest utilizzando una chiave di proprietà di Google e gestita da Google.
Esempio:
projects/PROJECT_ID/regions/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Esegui la persone che seguo :
Linux, macOS o 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
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: campo obbligatorio. Il tuo ID progetto Google Cloud elencato in le impostazioni IAM.
- REGION: campo obbligatorio. Compute Engine regione.
- TEMPLATE_VERSION: campo obbligatorio. Specifica
latest
per il più recente versione del modello o la data di una versione specifica, ad esempio2023-03-17_v0.1.0-beta
(visita gs://dataproc-templates-binaries o eseguigsutil ls gs://dataproc-templates-binaries
per elencare le versioni dei modelli disponibili). - SUBNET: facoltativo. Se non viene specificata una subnet,
è selezionata nella REGIONE specificata nella rete
default
.Esempio:
projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
- HOST e PORT: obbligatori.
Nome host o indirizzo IP e porta dell'host del database Hive di origine.
Esempio:
10.0.0.33
- TABLE: campo obbligatorio. Nome tabella di input Hive.
- DATABASE: campo obbligatorio. Nome del database di input Hive.
- CLOUD_STORAGE_OUTPUT_PATH: campo obbligatorio. Cloud Storage
in cui verrà archiviato l'output.
Esempio:
gs://dataproc-templates/hive_to_cloud_storage_output
- FORMAT: facoltativo. Formato dei dati di output. Opzioni:
avro
,parquet
,csv
ojson
. Valore predefinito:avro
. Nota: seavro
, devi aggiungerefile:///usr/lib/spark/external/spark-avro.jar
al flag gcloud CLIjars
o al campo API.Esempio (il prefisso
file://
fa riferimento a un file jar di Dataproc serverless):--jars=file:///usr/lib/spark/external/spark-avro.jar,
[, ... altri barattoli] - HIVE_PARTITION_COLUMN: facoltativo. Colonna su la partizione dei dati Hive.
- MODE: campo obbligatorio. Modalità di scrittura per l'output di Cloud Storage.
Opzioni:
append
,overwrite
,ignore
, oerrorifexists
. - SERVICE_ACCOUNT: facoltativo. Se non viene specificato, il valore account di servizio Compute Engine predefinito .
- PROPERTY e PROPERTY_VALUE:
Facoltativa. Elenco separato da virgole di
Proprietà Spark=
value
coppie. - LABEL e LABEL_VALUE:
Facoltativa. Elenco separato da virgole di
label
=value
coppie. - LOG_LEVEL: facoltativo. Livello di logging. Può essere uno di
ALL
,DEBUG
,ERROR
,FATAL
,INFO
,OFF
,TRACE
oWARN
. Valore predefinito:INFO
. -
KMS_KEY: facoltativo. La chiave di Cloud Key Management Service da utilizzare per la crittografia. Se non viene specificata una chiave, i dati vengono criptati at-rest utilizzando una chiave di proprietà di Google e gestita da Google.
Esempio:
projects/PROJECT_ID/regions/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Metodo HTTP e URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/batches
Corpo JSON della richiesta:
{ "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" ] } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" } }