Tipi di dati buffer di protocollo e Arrow supportati
L'API BigQuery Storage Write (gRPC) mappa ogni tipo di dati delle colonne BigQuery a tipi di input e formati di codifica specifici di buffer di protocollo e Apache Arrow. Le tabelle di riferimento in questo documento elencano le mappature dei tipi, gli intervalli di valori e i parametri di conversione supportati. Per i concetti di base dell'API, consulta Panoramica dell'API BigQuery Storage Write (gRPC).
Tipi di dati dei buffer di 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 (preferito), int64, string
Il valore è il numero di giorni trascorsi dall'epoca di Unix (1970-01-01). 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.BytesValueUtilizza la classe
|
|
STRING |
string, enum, google.protobuf.StringValue |
TIME |
string
Il valore deve essere un valore letterale |
TIMESTAMP |
int64 (preferito), int32,
uint32, google.protobuf.Timestamp
Il valore è espresso in microsecondi dall'epoca di Unix (1970-01-01). |
INTERVAL |
string, google.protobuf.Duration
Il valore della stringa deve essere un valore 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 di 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 di Apache Arrow supportati | Parametri di tipo supportati |
|---|---|---|
BOOL |
Boolean |
|
BYTES |
Binary |
|
DATE |
Date |
unit = Day |
String, int32 |
||
DATETIME |
Timestamp |
unit = MICROSECONDS
il fuso orario è 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 sottocampi 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 |