Tipi di dati Arrow e protocol buffer supportati
Questo documento descrive i tipi di dati Arrow e del protocollo supportati per ciascun rispettivo tipo di dati BigQuery. Prima di leggere questo documento, consulta la Panoramica dell'API BigQuery Storage Write.
Tipi di dati del buffer del protocollo supportati
La tabella seguente 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 (opzione preferita), int64 , string
Il valore è il numero di giorni dall'epoca Unix (01/01/1970). L'
intervallo valido è compreso tra |
DATETIME , TIME |
string
|
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
letterale |
TIMESTAMP |
int64 (opzione preferita), int32 ,
uint32 , google.protobuf.Timestamp
Il valore è espresso in microsecondi dall'epoca Unix (01/01/1970). |
INTERVAL |
string , google.protobuf.Duration
Il valore della stringa deve essere un
letterale |
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 del record in BigQuery. |
Tipi di dati Apache Arrow supportati
La tabella seguente 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 = Day |
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 una precisione o una 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 |