Tipos de datos de búfer de protocolo y Arrow admitidos
En este documento, se describen los búferes de protocolo y los tipos de datos de Arrow compatibles para cada tipo de datos de BigQuery. Antes de leer este documento, consulta la Descripción general de la API de BigQuery Storage Write.
Tipos de datos de búfer de protocolo admitidos
En la siguiente tabla, se muestran los tipos de datos admitidos en los búferes de protocolo y el formato de entrada correspondiente en BigQuery:
Tipo de datos de BigQuery | Tipos de búfer de protocolo admitidos |
---|---|
BOOL |
bool , int32 , int64 ,
uint32 , uint64 , google.protobuf.BoolValue |
BYTES |
bytes , string , google.protobuf.BytesValue |
DATE |
int32 (preferido), int64 , string
El valor es la cantidad de días transcurridos desde el tiempo Unix (1970-01-01). El
rango válido es de |
DATETIME , TIME |
string
|
int64
Usa la
clasa |
|
FLOAT |
double , float , google.protobuf.DoubleValue , google.protobuf.FloatValue |
GEOGRAPHY |
string
El valor es una geometría en 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 Usa la
clase |
|
STRING |
string , enum , google.protobuf.StringValue |
TIME |
string
El valor debe ser un literal de |
TIMESTAMP |
int64 (recomendado), int32 ,
uint32 , google.protobuf.Timestamp
El valor se proporciona en microsegundos desde el tiempo Unix (1970-01-01). |
INTERVAL |
string , google.protobuf.Duration
El valor de cadena debe ser un literal de |
RANGE<T> |
message
Un tipo de mensaje anidado en el proto con dos campos,
|
REPEATED FIELD |
array
Un tipo de array en el proto corresponde a un campo repetido en BigQuery. |
RECORD |
message
Un tipo de mensaje anidado en el proto corresponde a un campo de registro en BigQuery. |
Tipos de datos de Apache Arrow admitidos
En la siguiente tabla, se muestran los tipos de datos compatibles en Apache Arrow y el formato de entrada correspondiente en BigQuery.
Tipo de datos de BigQuery | Tipos de Apache Arrow compatibles | Parámetros de tipo admitidos |
---|---|---|
BOOL |
Boolean |
|
BYTES |
Binary |
|
DATE |
Date |
unit = Day |
String , int32 |
||
DATETIME |
Timestamp |
unit = MICROSECONDS
La zona horaria está vacía. |
FLOAT |
FloatingPoint |
Precisión en {SINGLE, DOUBLE} |
GEOGRAPHY |
Utf8
El valor es una geometría en formato WKT o GeoJson. |
|
INTEGER |
int |
bitWidth en {8, 16, 32, 64}
is_signed = false |
JSON |
Utf8 |
|
NUMERIC |
Decimal128 |
Puedes proporcionar un NUMERIC que tenga cualquier precisión o escala que sea inferior al rango compatible con BigQuery. |
BIGNUMERIC |
Decimal256 |
Puedes proporcionar un BIGNUMERIC que tenga cualquier precisión o escala que sea inferior al rango compatible con BigQuery. |
STRING |
Utf8 |
|
TIMESTAMP |
Timestamp |
unit= MICROSECONDS
timezone = UTC |
INTERVAL |
Interval |
unidad en {YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO} |
Utf8 |
||
RANGE<T> |
Struct
La estructura de flecha debe tener dos subcampos llamados Para la columna En el caso de la columna Para Un valor |
|
REPEATED FIELD |
List |
Un valor NULL debe estar representado por una lista vacía. |
RECORD |
Struct |