対応しているプロトコル バッファと Arrow のデータ型
このドキュメントでは、各 BigQuery データ型でサポートされているプロトコル バッファと Arrow のデータ型について説明します。このドキュメントを読む前に、BigQuery Storage Write API の概要をご覧ください。
サポートされているプロトコル バッファのデータ型
次の表は、プロトコル バッファでサポートされているデータ型と、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
|
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
timezone が空 |
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 |