Format penyimpanan dan jenis data yang didukung

Dokumen ini menjelaskan perilaku jenis data dan format penyimpanan saat mengintegrasikan Spark dan Hive dengan BigQuery melalui katalog runtime Lakehouse.

Secara khusus, dokumen ini menyediakan:

  • Format penyimpanan yang didukung: Rincian kompatibilitas format seperti Parquet, ORC, Avro, CSV, dan JSON di seluruh sumber data Hive SerDe dan Spark.
  • Pemetaan jenis data: Aturan konversi yang tepat antara jenis data Spark dan BigQuery.

Gunakan halaman ini untuk memverifikasi bahwa skema tabel dan format penyimpanan Anda selaras dengan metastore sebelum menjalankan workload atau membuat kueri tabel di seluruh mesin.

Format penyimpanan yang didukung antara Hive dan Spark

Bagian berikut menjelaskan kompatibilitas format penyimpanan dan sumber data antara Hive, Spark, dan BigQuery.

Pemetaan format penyimpanan mendetail

BigQuery menentukan format penyimpanan tabel berdasarkan library input_format, output_format, dan SerDe dalam metadata. Tabel berikut memetakan properti ini ke format penyimpanan BigQuery.

Format input, format output, dan library SerDe Format penyimpanan BigQuery
org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat
org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe
Parquet
org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
org.apache.hadoop.hive.ql.io.orc.OrcSerde
ORC
org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat
org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat
org.apache.hadoop.hive.serde2.avro.AvroSerDe
Avro
org.apache.hadoop.mapred.TextInputFormat
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
org.apache.hadoop.hive.serde2.OpenCSVSerde
CSV
org.apache.hadoop.mapred.TextInputFormat
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
org.openx.data.jsonserde.JsonSerDe
JSON
org.apache.hadoop.mapred.TextInputFormat
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
org.apache.hive.hcatalog.data.JsonSerDe
JSON

Kompatibilitas Hive SerDe

Tabel berikut mencantumkan kompatibilitas format tabel Hive SerDe dengan BigQuery.

Format Sintaksis DDL Spark SQL Dapat dikueri dari BigQuery
Parquet CREATE TABLE ... STORED AS PARQUET Ya
ORC CREATE TABLE ... STORED AS ORC Ya
Avro CREATE TABLE ... STORED AS AVRO Ya
CSV CREATE TABLE ... ROW FORMAT 'org.apache.hadoop.hive.serde2.OpenCSVSerde' Ya
JSON CREATE TABLE ... ROW FORMAT 'org.openx.data.jsonserde.JsonSerDe' Ya

Kompatibilitas sumber data Spark

Tabel berikut mencantumkan kompatibilitas format tabel sumber data Spark dengan BigQuery.

Tabel SerDe CSV dan JSON dapat dikueri dari BigQuery. Namun, tabel sumber data Spark CSV dan JSON tidak dapat dikueri.

Format Sintaksis DDL Spark SQL Dapat dikueri dari BigQuery
Parquet CREATE TABLE ... USING PARQUET Ya
ORC CREATE TABLE ... USING ORC Ya
Avro CREATE TABLE ... USING AVRO Ya
CSV CREATE TABLE ... USING CSV Tidak
JSON CREATE TABLE ... USING JSON Tidak

Jenis data yang didukung dari Spark ke BigQuery

Tabel berikut memetakan jenis data Spark ke jenis data BigQuery.

Jenis data Spark Jenis data BigQuery
BYTE atau TINYINT INT64
SMALLINT atau SHORT INT64
INT atau INTEGER INT64
BIGINT atau LONG INT64
DECIMAL atau NUMERIC BIGNUMERIC
FLOAT FLOAT64
DOUBLE FLOAT64
REAL FLOAT64
BOOLEAN BOOL
STRING STRING
VARCHAR STRING
CHAR atau CHARACTER STRING
BINARY BYTES
DATE DATE
TIMESTAMP atau TIMESTAMP_LTZ TIMESTAMP
ARRAY ARRAY
STRUCT<col_name: type1, ...> STRUCT<col_name: type1, ...>
MAP<key_type, value_type> ARRAY<STRUCT<key: key_type, value: value_type>>
Untuk mengaktifkan fitur ini, kirim email ke biglake-help@google.com. Hal ini hanya diperlukan jika workload Anda menggunakan MAP.

Langkah berikutnya