Tipi di dati Arrow e protocol buffer supportati
Questo documento descrive i tipi di dati Arrow e protocol buffer supportati per ogni tipo di dati BigQuery. Prima di leggere questo documento, leggi la Panoramica dell'API BigQuery Storage Write.
Tipi di dati del buffer del protocollo supportati
La seguente tabella mostra i tipi di dati supportati nei buffer di protocollo e il formato di input corrispondente in BigQuery:
Tipo di dati BigQuery | Tipi di buffer di protocollo supportati |
---|---|
BOOL |
bool , int32 , int64 ,
uint32 , uint64 , google.protobuf.BoolValue |
BYTES |
bytes , string , google.protobuf.BytesValue |
DATE |
int32 (preferito), int64 , string
Il valore è il numero di giorni a partire dall'epoca Unix (1970-01-01). L'intervallo
valido è compreso tra |
DATETIME , TIME |
string
Il valore deve essere un
|
int64
Utilizza la
classe |
|
FLOAT |
double , float , google.protobuf.DoubleValue , google.protobuf.FloatValue |
GEOGRAPHY |
string
Il valore è una geometria in formato WKT o 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 Utilizza la
classe |
|
STRING |
string , enum , google.protobuf.StringValue |
TIME |
string
Il valore deve essere un
|
TIMESTAMP |
int64 (preferito), int32 ,
uint32 , google.protobuf.Timestamp
Il valore è espresso in microsecondi a partire dall'epoca Unix (1970-01-01). |
INTERVAL |
string , google.protobuf.Duration
Il valore stringa deve essere un
|
RANGE<T> |
message
Un tipo di messaggio nidificato nel proto con due campi,
|
REPEATED FIELD |
array
Un tipo di array nel proto corrisponde a un campo ripetuto in BigQuery. |
RECORD |
message
Un tipo di messaggio nidificato nel proto corrisponde a un campo record in BigQuery. |
Tipi di dati Apache Arrow supportati
La seguente tabella mostra i tipi di dati supportati in Apache Arrow e il formato di input corrispondente in BigQuery.
Tipo di dati BigQuery | Tipi Apache Arrow supportati | Parametri di tipo supportati |
---|---|---|
BOOL |
Boolean |
|
BYTES |
Binary |
|
DATE |
Date |
unità = giorno |
String , int32 |
||
DATETIME |
Timestamp |
unit = MICROSECONDS
timezone è vuoto |
FLOAT |
FloatingPoint |
Precisione in {SINGLE, DOUBLE} |
GEOGRAPHY |
Utf8
Il valore è una geometria in formato WKT o GeoJSON. |
|
INTEGER |
int |
bitWidth in {8, 16, 32, 64}
is_signed = false |
JSON |
Utf8 |
|
NUMERIC |
Decimal128 |
Puoi fornire un valore NUMERIC con qualsiasi precisione o scala inferiore all' intervallo supportato da BigQuery. |
BIGNUMERIC |
Decimal256 |
Puoi fornire un valore BIGNUMERIC con qualsiasi precisione o scala inferiore all' intervallo supportato da BigQuery. |
STRING |
Utf8 |
|
TIMESTAMP |
Timestamp |
unit= MICROSECONDS
timezone = UTC |
INTERVAL |
Interval |
unit in {YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO} |
Utf8 |
||
RANGE<T> |
Struct
Lo struct Arrow deve avere due campi secondari denominati Per la colonna Per la colonna Per Un valore |
|
REPEATED FIELD |
List |
Un valore NULL deve essere rappresentato da un elenco vuoto. |
RECORD |
Struct |