Tipos de dados do buffer de protocolo e do Arrow compatíveis
Este documento descreve os tipos de dados de buffer de protocolo e Arrow compatíveis para cada tipo de dados do BigQuery. Antes de ler este documento, leia Visão geral da API BigQuery Storage Write.
Tipos de dados de buffer de protocolo compatíveis
A tabela a seguir mostra os tipos de dados compatíveis 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 (recomendável), 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.BytesValue Use a
classe |
|
STRING |
string , enum , google.protobuf.StringValue |
TIME |
string
O valor precisa ser um |
TIMESTAMP |
int64 (recomendável), 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
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 registro no BigQuery. |
Tipos de dados do Apache Arrow compatíveis
A tabela a seguir mostra os tipos de dados compatíveis com o 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 compatíveis |
---|---|---|
BOOL |
Boolean |
|
BYTES |
Binary |
|
DATE |
Date |
unit = Day |
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 em {8, 16, 32, 64}
is_signed = false |
JSON |
Utf8 |
|
NUMERIC |
Decimal128 |
Você pode fornecer um NUMERIC com qualquer precisão ou escala menor que o intervalo compatível com o BigQuery. |
BIGNUMERIC |
Decimal256 |
É possível fornecer um BIGNUMERIC com qualquer precisão ou escala menor que o intervalo compatível com o BigQuery. |
STRING |
Utf8 |
|
TIMESTAMP |
Timestamp |
unit= MICROSECONDS
timezone = UTC |
INTERVAL |
Interval |
unidade em {YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO} |
Utf8 |
||
RANGE<T> |
Struct
A estrutura 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 |