Formati di archiviazione e tipi di dati supportati

Il catalogo di runtime Lakehouse consente di integrare Apache Spark e Apache Hive con BigQuery in formati di archiviazione come Parquet, ORC, Avro, CSV, JSON e Delta Lake. La revisione di queste compatibilità di Hive SerDe e delle origini dati Spark e delle regole di conversione dei tipi di dati ti aiuta a verificare che gli schemi delle tabelle siano allineati al catalogo di runtime Lakehouse prima di eseguire carichi di lavoro cross-engine.

Formati di archiviazione supportati tra Hive e Spark

Le sezioni seguenti descrivono la compatibilità del formato di archiviazione e dell'origine dati tra Hive, Spark e BigQuery.

Mappatura dettagliata del formato di archiviazione

BigQuery determina il formato di archiviazione di una tabella in base alla libreria input_format, output_format e SerDe nei metadati. La tabella seguente mappa queste proprietà al formato di archiviazione BigQuery.

Libreria di formato di input, formato di output e SerDe Formato di archiviazione 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

Compatibilità di Hive SerDe

La tabella seguente elenca la compatibilità dei formati delle tabelle Hive SerDe con BigQuery.

Formato Sintassi DDL di Spark SQL Eseguibile tramite query da BigQuery
Parquet CREATE TABLE ... STORED AS PARQUET Sì
ORC CREATE TABLE ... STORED AS ORC Sì
Avro CREATE TABLE ... STORED AS AVRO Sì
CSV CREATE TABLE ... ROW FORMAT 'org.apache.hadoop.hive.serde2.OpenCSVSerde' Sì
JSON CREATE TABLE ... ROW FORMAT 'org.openx.data.jsonserde.JsonSerDe' Sì

Compatibilità delle origini dati Spark

La tabella seguente elenca la compatibilità dei formati delle tabelle delle origini dati Spark con BigQuery.

Le tabelle SerDe CSV e JSON sono eseguibili tramite query da BigQuery. Tuttavia, le tabelle delle origini dati Spark CSV e JSON non lo sono.

Formato Sintassi DDL di Spark SQL Eseguibile tramite query da BigQuery
Parquet CREATE TABLE ... USING PARQUET Sì
ORC CREATE TABLE ... USING ORC Sì
Avro CREATE TABLE ... USING AVRO Sì
Delta Lake CREATE TABLE ... USING DELTA Sì
CSV CREATE TABLE ... USING CSV No
JSON CREATE TABLE ... USING JSON No

Tipi di dati supportati da Spark a BigQuery

La tabella seguente mappa i tipi di dati Spark ai tipi di dati BigQuery.

Tipo di dati Spark Tipo di dati BigQuery
BYTE o TINYINT INT64
SMALLINT o SHORT INT64
INT o INTEGER INT64
BIGINT o LONG INT64
DECIMAL o NUMERIC BIGNUMERIC
FLOAT FLOAT64
DOUBLE FLOAT64
REAL FLOAT64
BOOLEAN BOOL
STRING STRING
VARCHAR STRING
CHAR o CHARACTER STRING
BINARY BYTES
DATE DATE
TIMESTAMP o 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>>
Per attivare questa funzionalità, invia un'email a biglake-help@google.com. Questa operazione è necessaria solo se i carichi di lavoro utilizzano MAP.

Passaggi successivi