Format penyimpanan dan jenis data yang didukung

Katalog runtime Lakehouse memungkinkan Anda mengintegrasikan Apache Spark dan Apache Hive dengan BigQuery di seluruh format penyimpanan seperti Parquet, ORC, Avro, CSV, JSON, dan Delta Lake. Meninjau kompatibilitas sumber data Hive SerDe dan Spark serta aturan konversi jenis data ini akan membantu Anda memverifikasi bahwa skema tabel Anda selaras dengan katalog runtime Lakehouse sebelum Anda menjalankan workload lintas mesin.

Format penyimpanan yang didukung antara Hive dan Spark

Bagian berikut menjelaskan format penyimpanan dan kompatibilitas 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 SerDe Hive

Tabel berikut mencantumkan kompatibilitas format tabel SerDe Hive 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 demikian.

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
Delta Lake CREATE TABLE ... USING DELTA 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. Tindakan ini hanya diperlukan jika beban kerja Anda menggunakan MAP.

Langkah berikutnya