Tipos de dados do buffer de protocolo e do Arrow com suporte
Este documento descreve os tipos de dados do buffer de protocolo e do Arrow com suporte para cada tipo de dados do BigQuery. Antes de ler este documento, leia Visão geral da API BigQuery Storage Write (gRPC).
Tipos de dados do buffer de protocolo com suporte
A tabela a seguir mostra os tipos de dados com suporte em buffers de protocolo e o formato de entrada correspondente no BigQuery:
| Tipo de dados do BigQuery | Tipos de buffer de protocolo compatíveis |
|---|---|
BOOL |
bool, int32, int64,
uint32, uint64, google.protobuf.BoolValue |
BYTES |
bytes, string, google.protobuf.BytesValue |
DATE |
int32 (preferencial), int64, string
O valor é o número de dias desde a época Unix (1970-01-01). O
intervalo válido é de |
DATETIME, TIME |
string
|
int64
Use a classe
|
|
FLOAT |
double, float, google.protobuf.DoubleValue, google.protobuf.FloatValue |
GEOGRAPHY |
string
O valor é uma geometria no formato WKT ou 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.BytesValueUse a classe
|
|
STRING |
string, enum, google.protobuf.StringValue |
TIME |
string
O valor precisa ser um
|
TIMESTAMP |
int64 (preferencial), int32,
uint32, google.protobuf.Timestamp
O valor é fornecido em microssegundos desde a época Unix (1970-01-01). |
INTERVAL |
string, google.protobuf.Duration
O valor da string precisa ser um
|
RANGE<T> |
message
Um tipo de mensagem aninhado no proto com dois campos, |
REPEATED FIELD |
array
Um tipo de matriz no proto corresponde a um campo repetido no BigQuery. |
RECORD |
message
Um tipo de mensagem aninhada no proto corresponde a um campo de registro no BigQuery. |
Tipos de dados do Apache Arrow com suporte
A tabela a seguir mostra os tipos de dados com suporte no Apache Arrow e o formato de entrada correspondente no BigQuery.
| Tipo de dados do BigQuery | Tipos do Apache Arrow com suporte | Parâmetros de tipo com suporte |
|---|---|---|
BOOL |
Boolean |
|
BYTES |
Binary |
|
DATE |
Date |
unit = Day |
String, int32 |
||
DATETIME |
Timestamp |
unit = MICROSECONDS
timezone is empty |
FLOAT |
FloatingPoint |
Precisão em {SINGLE, DOUBLE} |
GEOGRAPHY |
Utf8
O valor é uma geometria no formato WKT ou GeoJson. |
|
INTEGER |
int |
bitWidth in {8, 16, 32, 64}
is_signed = false |
JSON |
Utf8 |
|
NUMERIC |
Decimal128 |
É possível fornecer um NUMERIC que tenha qualquer precisão ou escala menor que o intervalo com suporte do BigQuery. |
BIGNUMERIC |
Decimal256 |
É possível fornecer um BIGNUMERIC que tenha qualquer precisão ou escala menor que o intervalo com suporte do BigQuery. |
STRING |
Utf8 |
|
TIMESTAMP |
Timestamp |
unit= MICROSECONDS
timezone = UTC |
INTERVAL |
Interval |
unit in {YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO} |
Utf8 |
||
RANGE<T> |
Struct
O Struct do Arrow precisa ter dois subcampos chamados Para a coluna Para a coluna Para o Um valor |
|
REPEATED FIELD |
List |
Um valor NULL precisa ser representado por uma lista vazia. |
RECORD |
Struct |