Template Hive ke Cloud Storage
Gunakan template Dataproc Serverless Hive to Cloud Storage untuk mengekstrak data dari Hive ke Cloud Storage.
Menggunakan template
Jalankan template menggunakan gcloud CLI atau Dataproc API.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
PROJECT_ID : Wajib diisi. Google Cloud Project ID Anda yang tercantum di IAM Settings.REGION : Wajib diisi. Region Compute Engine.TEMPLATE_VERSION : Wajib diisi. Tentukanlatest
untuk versi template terbaru, atau tanggal versi tertentu, misalnya,2023-03-17_v0.1.0-beta
(buka gs://dataproc-templates-binaries atau jalankangcloud storage ls gs://dataproc-templates-binaries
untuk mencantumkan versi template yang tersedia).SUBNET : Opsional. Jika subnet tidak ditentukan, subnet di REGION yang ditentukan dalam jaringandefault
akan dipilih.Contoh:
projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
HOST danPORT : Wajib diisi. Nama host atau alamat IP dan port host database Hive sumber.Contoh:
10.0.0.33
TABLE : Wajib diisi. Nama tabel input Hive.DATABASE : Wajib diisi. Nama database input Hive.CLOUD_STORAGE_OUTPUT_PATH : Wajib diisi. Jalur Cloud Storage tempat output akan disimpan.Contoh:
gs://dataproc-templates/hive_to_cloud_storage_output
FORMAT : Opsional. Format data output. Opsi:avro
,parquet
,csv
, ataujson
. Default:avro
. Catatan: Jikaavro
, Anda harus menambahkanfile:///usr/lib/spark/connector/spark-avro.jar
ke kolom API atau flag gcloud CLIjars
.Contoh (awalan
file://
mereferensikan file jar Dataproc Serverless):--jars=file:///usr/lib/spark/connector/spark-avro.jar,
[, ... other jars]HIVE_PARTITION_COLUMN : Opsional. Kolom untuk mempartisi data Hive.MODE : Wajib diisi. Mode tulis untuk output Cloud Storage. Opsi:append
,overwrite
,ignore
, atauerrorifexists
.SERVICE_ACCOUNT : Opsional. Jika tidak diberikan, akun layanan Compute Engine default akan digunakan.PROPERTY danPROPERTY_VALUE : Opsional. Daftar yang dipisahkan koma dari pasangan Properti Spark=value
.LABEL danLABEL_VALUE : Opsional. Daftar pasanganlabel
=value
yang dipisahkan koma.LOG_LEVEL : Opsional. Tingkat logging. Dapat berupa salah satu dariALL
,DEBUG
,ERROR
,FATAL
,INFO
,OFF
,TRACE
, atauWARN
. Default:INFO
.-
KMS_KEY : Opsional. Kunci Cloud Key Management Service yang akan digunakan untuk enkripsi. Jika kunci tidak ditentukan, data akan dienkripsi dalam penyimpanan menggunakan Google-owned and Google-managed encryption key.Contoh:
projects/PROJECT_ID/regions/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Jalankan perintah berikut:
Linux, macOS, atau 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 "
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID : Wajib diisi. Google Cloud Project ID Anda yang tercantum di IAM Settings.REGION : Wajib diisi. Region Compute Engine.TEMPLATE_VERSION : Wajib diisi. Tentukanlatest
untuk versi template terbaru, atau tanggal versi tertentu, misalnya,2023-03-17_v0.1.0-beta
(buka gs://dataproc-templates-binaries atau jalankangcloud storage ls gs://dataproc-templates-binaries
untuk mencantumkan versi template yang tersedia).SUBNET : Opsional. Jika subnet tidak ditentukan, subnet di REGION yang ditentukan di jaringandefault
akan dipilih.Contoh:
projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
HOST danPORT : Wajib diisi. Nama host atau alamat IP dan port host database Hive sumber.Contoh:
10.0.0.33
TABLE : Wajib diisi. Nama tabel input Hive.DATABASE : Wajib diisi. Nama database input Hive.CLOUD_STORAGE_OUTPUT_PATH : Wajib diisi. Jalur Cloud Storage tempat output akan disimpan.Contoh:
gs://dataproc-templates/hive_to_cloud_storage_output
FORMAT : Opsional. Format data output. Opsi:avro
,parquet
,csv
, ataujson
. Default:avro
. Catatan: Jikaavro
, Anda harus menambahkanfile:///usr/lib/spark/connector/spark-avro.jar
ke kolom API atau flag gcloud CLIjars
.Contoh (awalan
file://
mereferensikan file jar Dataproc Serverless):--jars=file:///usr/lib/spark/connector/spark-avro.jar,
[, ... other jars]HIVE_PARTITION_COLUMN : Opsional. Kolom untuk mempartisi data Hive.MODE : Wajib diisi. Mode tulis untuk output Cloud Storage. Opsi:append
,overwrite
,ignore
, atauerrorifexists
.SERVICE_ACCOUNT : Opsional. Jika tidak diberikan, akun layanan Compute Engine default akan digunakan.PROPERTY danPROPERTY_VALUE : Opsional. Daftar yang dipisahkan koma dari pasangan Properti Spark=value
.LABEL danLABEL_VALUE : Opsional. Daftar pasanganlabel
=value
yang dipisahkan koma.LOG_LEVEL : Opsional. Tingkat logging. Dapat berupa salah satu dariALL
,DEBUG
,ERROR
,FATAL
,INFO
,OFF
,TRACE
, atauWARN
. Default:INFO
.-
KMS_KEY : Opsional. Kunci Cloud Key Management Service yang akan digunakan untuk enkripsi. Jika kunci tidak ditentukan, data akan dienkripsi dalam penyimpanan menggunakan Google-owned and Google-managed encryption key.Contoh:
projects/PROJECT_ID/regions/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Metode HTTP dan URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID /locations/REGION /batches
Meminta isi JSON:
{ "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" ] } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataproc.googleapis.com/v1/projects/PROJECT_ID /locations/REGION /batches"
PowerShell (Windows)
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataproc.googleapis.com/v1/projects/PROJECT_ID /locations/REGION /batches" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
{ "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" } }