Jenis data buffering protokol dan Arrow yang didukung
BigQuery Storage Write API (gRPC) memetakan setiap jenis data kolom BigQuery ke jenis input dan format encoding buffering protokol dan Apache Arrow tertentu. Tabel referensi dalam dokumen ini mencantumkan pemetaan jenis, rentang nilai, dan parameter konversi yang didukung. Untuk konsep API dasar, lihat 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 class
|
|
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 epoch Unix (1970-01-01). |
INTERVAL |
string, google.protobuf.Duration
Nilai string harus berupa literal |
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
zona waktu kosong |
FLOAT |
FloatingPoint |
Presisi dalam {SINGLE, DOUBLE} |
GEOGRAPHY |
Utf8
Nilainya merupakan geometri dalam format WKT atau GeoJson. |
|
INTEGER |
int |
bitWidth dalam {8, 16, 32, 64}
is_signed = false |
JSON |
Utf8 |
|
NUMERIC |
Decimal128 |
Anda dapat memberikan NUMERIC yang memiliki presisi atau skala yang lebih kecil dari rentang yang didukung BigQuery. |
BIGNUMERIC |
Decimal256 |
Anda dapat memberikan BIGNUMERIC yang memiliki presisi atau skala yang lebih kecil dari rentang yang didukung BigQuery. |
STRING |
Utf8 |
|
TIMESTAMP |
Timestamp |
unit= MICROSECONDS
timezone = UTC |
INTERVAL |
Interval |
unit dalam {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 diwakili oleh daftar kosong. |
RECORD |
Struct |