支援的通訊協定緩衝區和 Arrow 資料類型
BigQuery Storage Write API (gRPC) 會將每個 BigQuery 資料欄資料類型,對應至特定通訊協定緩衝區和 Apache Arrow 輸入類型和編碼格式。本文件的參考表格列出支援的類型對應、值範圍和轉換參數。如需基礎 API 概念,請參閱「BigQuery Storage Write API (gRPC) 總覽」。
支援的通訊協定緩衝區資料類型
下表列出通訊協定緩衝區支援的資料類型,以及 BigQuery 中對應的輸入格式:
| BigQuery 資料類型 | 支援的通訊協定緩衝區類型 |
|---|---|
BOOL |
bool、int32、int64、uint32、uint64、google.protobuf.BoolValue |
BYTES |
bytes、string、google.protobuf.BytesValue |
DATE |
int32 (建議)、int64、string
這個值是自 Unix 紀元 (1970-01-01) 起算的天數。有效範圍為 |
DATETIME、TIME |
string
|
int64
使用
|
|
FLOAT |
double、float、google.protobuf.DoubleValue、google.protobuf.FloatValue |
GEOGRAPHY |
string
值為 WKT 或 GeoJson 格式的幾何圖形。 |
INTEGER |
int32、int64、uint32、enum、google.protobuf.Int32Value、google.protobuf.Int64Value、google.protobuf.UInt32Value |
JSON |
string |
NUMERIC、BIGNUMERIC |
int32、int64、uint32、uint64、double、float、string |
bytes、google.protobuf.BytesValue使用
|
|
STRING |
string、enum、google.protobuf.StringValue |
TIME |
string
值必須是 |
TIMESTAMP |
int64 (建議)、int32、uint32、google.protobuf.Timestamp這個值是以微秒為單位,自 Unix 紀元 (1970-01-01) 起算。 |
INTERVAL |
string、google.protobuf.Duration
字串值必須是 |
RANGE<T> |
message
Proto 中的巢狀訊息類型,包含 |
REPEATED FIELD |
array
Proto 中的陣列類型對應至 BigQuery 中的重複欄位。 |
RECORD |
message
Proto 中的巢狀訊息類型對應至 BigQuery 中的記錄欄位。 |
支援的 Apache Arrow 資料類型
下表列出 Apache Arrow 支援的資料類型,以及 BigQuery 中對應的輸入格式。
| BigQuery 資料類型 | 支援的 Apache Arrow 類型 | 支援的類型參數 |
|---|---|---|
BOOL |
Boolean |
|
BYTES |
Binary |
|
DATE |
Date |
unit = Day |
String、int32 |
||
DATETIME |
Timestamp |
unit = MICROSECONDS
時區空白 |
FLOAT |
FloatingPoint |
精確度:{SINGLE, DOUBLE} |
GEOGRAPHY |
Utf8
值是 WKT 或 GeoJson 格式的幾何圖形。 |
|
INTEGER |
int |
bitWidth 為 {8, 16, 32, 64} is_signed = false |
JSON |
Utf8 |
|
NUMERIC |
Decimal128 |
您可以提供任何精確度或小數位數小於 BigQuery 支援範圍的 NUMERIC。 |
BIGNUMERIC |
Decimal256 |
您可以提供任何精確度或小數位數小於 BigQuery 支援範圍的 BIGNUMERIC。 |
STRING |
Utf8 |
|
TIMESTAMP |
Timestamp |
unit= MICROSECONDS
timezone = UTC |
INTERVAL |
Interval |
{YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO} 中的單位 |
Utf8 |
||
RANGE<T> |
Struct
Arrow Struct 必須有兩個名為
如果是
|
|
REPEATED FIELD |
List |
NULL 值必須以空白清單表示。 |
RECORD |
Struct |