Tipos de dados de buffers de protocolo e Arrow suportados
Este documento descreve os tipos de dados de buffers de protocolo e Arrow suportados para cada tipo de dados do BigQuery respetivo. Antes de ler este documento, leia o artigo Vista geral da API BigQuery Storage Write.
Tipos de dados de buffer de protocolo suportados
A tabela seguinte mostra os tipos de dados suportados nos buffers de protocolo e o formato de entrada correspondente no BigQuery:
Tipo de dados do BigQuery | Tipos de buffers de protocolo suportados |
---|---|
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 é |
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.BytesValue Use a classe
|
|
STRING |
string , enum , google.protobuf.StringValue |
TIME |
string
O valor tem de ser um literal |
TIMESTAMP |
int64 (preferencial), int32 ,
uint32 , google.protobuf.Timestamp
O valor é indicado em microssegundos desde a época Unix (1970-01-01). |
INTERVAL |
string , google.protobuf.Duration
O valor de string tem de ser um literal |
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 registo no BigQuery. |
Tipos de dados do Apache Arrow suportados
A tabela seguinte mostra os tipos de dados suportados no Apache Arrow e o formato de entrada correspondente no BigQuery.
Tipo de dados do BigQuery | Tipos de Apache Arrow suportados | Parâmetros de tipo suportados |
---|---|---|
BOOL |
Boolean |
|
BYTES |
Binary |
|
DATE |
Date |
unidade = Dia |
String , int32 |
||
DATETIME |
Timestamp |
unit = MICROSECONDS
O fuso horário está vazio |
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 |
Pode fornecer um NUMERIC que tenha qualquer precisão ou escala inferior ao intervalo suportado pelo BigQuery. |
BIGNUMERIC |
Decimal256 |
Pode fornecer um BIGNUMERIC com qualquer precisão ou escala que seja inferior ao intervalo suportado pelo BigQuery. |
STRING |
Utf8 |
|
TIMESTAMP |
Timestamp |
unit= MICROSECONDS
timezone = UTC |
INTERVAL |
Interval |
unit in {YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO} |
Utf8 |
||
RANGE<T> |
Struct
A Struct Arrow tem de ter dois subcampos com os nomes Para a coluna Para a coluna Para o Um valor |
|
REPEATED FIELD |
List |
Um valor NULL tem de ser representado por uma lista vazia. |
RECORD |
Struct |