Template Hive ke Cloud Storage
Gunakan template Serverless for Apache Spark Hive to Cloud Storage untuk mengekstrak data dari Hive ke Cloud Storage.
Menggunakan template
Jalankan template menggunakan gcloud CLI atau Dataproc API.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: Wajib diisi. ID project Google Cloud Anda tercantum di IAM Settings.
 - REGION: Wajib diisi. Region Compute Engine.
 - TEMPLATE_VERSION: Wajib diisi. Tentukan 
latestuntuk versi template terbaru, atau tanggal versi tertentu, misalnya,2023-03-17_v0.1.0-beta(kunjungi gs://dataproc-templates-binaries atau jalankangcloud storage ls gs://dataproc-templates-binariesuntuk mencantumkan versi template yang tersedia). - SUBNET: Opsional. Jika subnet tidak ditentukan, subnet
  di jaringan 
defaultdi REGION yang ditentukan akan dipilih.Contoh:
projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME - HOST dan PORT: 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.jarke flag gcloud CLIjarsatau kolom API.Contoh (awalan
file://merujuk ke file jar Serverless for Apache Spark):--jars=file:///usr/lib/spark/connector/spark-avro.jar,[, ... JAR lainnya] - HIVE_PARTITION_COLUMN: Opsional. Kolom untuk memartisi data Hive.
 - MODE: Wajib diisi. Mode penulisan untuk output Cloud Storage.
  Opsi: 
append,overwrite,ignore, atauerrorifexists. - SERVICE_ACCOUNT: Opsional. Jika tidak diberikan, akun layanan Compute Engine default akan digunakan.
 - PROPERTY dan PROPERTY_VALUE:
  Opsional. Daftar pasangan
  properti Spark=
valueyang dipisahkan koma. - LABEL dan LABEL_VALUE:
    Opsional. Daftar pasangan 
label=valueyang dipisahkan koma. - LOG_LEVEL: Opsional. Tingkat logging. Dapat berupa salah satu dari
  
ALL,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"
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Wajib diisi. ID project Google Cloud Anda tercantum di IAM Settings.
 - REGION: Wajib diisi. Region Compute Engine.
 - TEMPLATE_VERSION: Wajib diisi. Tentukan 
latestuntuk versi template terbaru, atau tanggal versi tertentu, misalnya,2023-03-17_v0.1.0-beta(kunjungi gs://dataproc-templates-binaries atau jalankangcloud storage ls gs://dataproc-templates-binariesuntuk mencantumkan versi template yang tersedia). - SUBNET: Opsional. Jika subnet tidak ditentukan, subnet
  di jaringan 
defaultdi REGION yang ditentukan akan dipilih.Contoh:
projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME - HOST dan PORT: 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.jarke flag gcloud CLIjarsatau kolom API.Contoh (awalan
file://merujuk ke file jar Serverless for Apache Spark):--jars=file:///usr/lib/spark/connector/spark-avro.jar,[, ... JAR lainnya] - HIVE_PARTITION_COLUMN: Opsional. Kolom untuk memartisi data Hive.
 - MODE: Wajib diisi. Mode penulisan untuk output Cloud Storage.
  Opsi: 
append,overwrite,ignore, atauerrorifexists. - SERVICE_ACCOUNT: Opsional. Jika tidak diberikan, akun layanan Compute Engine default akan digunakan.
 - PROPERTY dan PROPERTY_VALUE:
  Opsional. Daftar pasangan
  properti Spark=
valueyang dipisahkan koma. - LABEL dan LABEL_VALUE:
    Opsional. Daftar pasangan 
label=valueyang dipisahkan koma. - LOG_LEVEL: Opsional. Tingkat logging. Dapat berupa salah satu dari
  
ALL,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:
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"
  }
}