Jenis data buffering protokol dan Arrow yang didukung
Dokumen ini menjelaskan buffering protokol dan jenis data Arrow yang didukung untuk setiap jenis data BigQuery. Sebelum membaca dokumen ini, baca Ringkasan BigQuery Storage Write API.
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.BytesValue Gunakan
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 Unix epoch (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 = Hari |
String , int32 |
||
DATETIME |
Timestamp |
unit = MIKRODETIK
timezone is empty |
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= MIKRODETIK
timezone = UTC |
INTERVAL |
Interval |
unit dalam {YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO} |
Utf8 |
||
RANGE<T> |
Struct
Struct Panah harus memiliki dua subkolom bernama Untuk kolom Untuk kolom Untuk Nilai |
|
REPEATED FIELD |
List |
Nilai NULL harus diwakili oleh daftar kosong. |
RECORD |
Struct |