Unterstützte Speicherformate und Datentypen

Mit dem Lakehouse-Laufzeitkatalog können Sie Apache Spark und Apache Hive in BigQuery über verschiedene Speicherformate wie Parquet, ORC, Avro, CSV, JSON und Delta Lake hinweg integrieren. Wenn Sie sich diese Hive-SerDe- und Spark-Datenquellenkompatibilitäten sowie die Regeln für die Datentypkonvertierung ansehen, können Sie prüfen, ob Ihre Tabellenschemas mit dem Lakehouse-Laufzeitkatalog übereinstimmen, bevor Sie arbeitsübergreifende Arbeitslasten ausführen.

Unterstützte Speicherformate zwischen Hive und Spark

In den folgenden Abschnitten werden die Kompatibilität von Speicherformaten und Datenquellen zwischen Hive, Spark und BigQuery beschrieben.

Detaillierte Zuordnung von Speicherformaten

BigQuery bestimmt das Speicherformat einer Tabelle anhand der Bibliothek input_format, output_format und SerDe in den Metadaten. In der folgenden Tabelle werden diese Eigenschaften dem BigQuery-Speicherformat zugeordnet.

Eingabeformat, Ausgabeformat und SerDe-Bibliothek BigQuery-Speicherformat
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

Hive-SerDe-Kompatibilität

In der folgenden Tabelle ist die Kompatibilität von Hive-SerDe-Tabellenformaten mit BigQuery aufgeführt.

Format Spark SQL-DDL-Syntax In BigQuery abfragbar
Parquet CREATE TABLE ... STORED AS PARQUET Ja
ORC CREATE TABLE ... STORED AS ORC Ja
Avro CREATE TABLE ... STORED AS AVRO Ja
CSV CREATE TABLE ... ROW FORMAT 'org.apache.hadoop.hive.serde2.OpenCSVSerde' Ja
JSON CREATE TABLE ... ROW FORMAT 'org.openx.data.jsonserde.JsonSerDe' Ja

Spark-Datenquellenkompatibilität

In der folgenden Tabelle ist die Kompatibilität von Spark-Datenquellentabellenformaten mit BigQuery aufgeführt.

CSV- und JSON-SerDe-Tabellen können in BigQuery abgefragt werden. CSV- und JSON-Spark-Datenquellentabellen jedoch nicht.

Format Spark SQL-DDL-Syntax In BigQuery abfragbar
Parquet CREATE TABLE ... USING PARQUET Ja
ORC CREATE TABLE ... USING ORC Ja
Avro CREATE TABLE ... USING AVRO Ja
Delta Lake CREATE TABLE ... USING DELTA Ja
CSV CREATE TABLE ... USING CSV Nein
JSON CREATE TABLE ... USING JSON Nein

Unterstützte Datentypen von Spark zu BigQuery

In der folgenden Tabelle werden Spark-Datentypen BigQuery-Datentypen zugeordnet.

Spark-Datentyp BigQuery-Datentyp
BYTE oder TINYINT INT64
SMALLINT oder SHORT INT64
INT oder INTEGER INT64
BIGINT oder LONG INT64
DECIMAL oder NUMERIC BIGNUMERIC
FLOAT FLOAT64
DOUBLE FLOAT64
REAL FLOAT64
BOOLEAN BOOL
STRING STRING
VARCHAR STRING
CHAR oder CHARACTER STRING
BINARY BYTES
DATE DATE
TIMESTAMP oder 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>>
Wenn Sie dieses Feature aktivieren möchten, senden Sie eine E-Mail an biglake-help@google.com. Dies ist nur erforderlich, wenn Ihre Arbeitslasten MAP verwenden.

Nächste Schritte