Jenis data buffering protokol dan Arrow yang didukung
Dokumen ini menjelaskan jenis data buffering protokol dan Arrow yang didukung untuk setiap jenis data BigQuery. Sebelum membaca dokumen ini, baca Ringkasan BigQuery Storage Write API (gRPC).
Jenis data buffering protokol yang didukung
Tabel berikut menunjukkan jenis data yang didukung dalam buffering protokol dan format input yang sesuai di BigQuery:
| Jenis data BigQuery | Jenis buffering protokol yang didukung |
|---|---|
BOOL |
bool, int32, int64,
uint32, uint64, google.protobuf.BoolValue |
BYTES |
bytes, string, google.protobuf.BytesValue |
DATE |
int32 (pilihan), int64, string
Nilainya adalah jumlah hari sejak epoch Unix (1970-01-01). Rentang yang
valid adalah |
DATETIME, TIME |
string
|
int64
Gunakan class
|
|
FLOAT |
double, float, google.protobuf.DoubleValue, google.protobuf.FloatValue |
GEOGRAPHY |
string
Nilainya merupakan geometri dalam format WKT atau 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.BytesValueGunakan
|
|
STRING |
string, enum, google.protobuf.StringValue |
TIME |
string
Nilai ini harus berupa literal |
TIMESTAMP |
int64 (pilihan), int32,
uint32, google.protobuf.Timestamp
Nilai ini diberikan dalam mikrodetik sejak Unix epoch (1970-01-01). |
INTERVAL |
string, google.protobuf.Duration
Nilai string harus berupa
|
RANGE<T> |
message
Jenis pesan bertingkat di proto dengan dua kolom, |
REPEATED FIELD |
array
Jenis array di proto sesuai dengan kolom berulang di BigQuery. |
RECORD |
message
Jenis pesan bertingkat di proto sesuai dengan kolom catatan di BigQuery. |
Jenis data Apache Arrow yang didukung
Tabel berikut menunjukkan jenis data yang didukung di Apache Arrow dan format input yang sesuai di BigQuery.
| Jenis data BigQuery | Jenis Apache Arrow yang didukung | Parameter jenis yang didukung |
|---|---|---|
BOOL |
Boolean |
|
BYTES |
Binary |
|
DATE |
Date |
unit = Day |
String, int32 |
||
DATETIME |
Timestamp |
unit = MICROSECONDS
timezone is empty |
FLOAT |
FloatingPoint |
Precision in {SINGLE, DOUBLE} |
GEOGRAPHY |
Utf8
Nilainya merupakan geometri dalam format WKT atau GeoJson. |
|
INTEGER |
int |
bitWidth in {8, 16, 32, 64}
is_signed = false |
JSON |
Utf8 |
|
NUMERIC |
Decimal128 |
Anda dapat memberikan NUMERIC yang memiliki presisi atau skala apa pun yang lebih kecil dari rentang yang didukung BigQuery. |
BIGNUMERIC |
Decimal256 |
Anda dapat memberikan BIGNUMERIC yang memiliki presisi atau skala apa pun yang lebih kecil dari rentang yang didukung BigQuery. |
STRING |
Utf8 |
|
TIMESTAMP |
Timestamp |
unit= MICROSECONDS
timezone = UTC |
INTERVAL |
Interval |
unit in {YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO} |
Utf8 |
||
RANGE<T> |
Struct
Arrow Struct harus memiliki dua subkolom bernama Untuk kolom Untuk kolom Untuk Nilai |
|
REPEATED FIELD |
List |
Nilai NULL harus direpresentasikan oleh daftar kosong. |
RECORD |
Struct |