対応しているプロトコル バッファと 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
タイムゾーンが空です |
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 |