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. |