Tipos de datos de Arrow y búfer de protocolo admitidos
En este documento, se describen los tipos de datos de Arrow y búfer de protocolo admitidos para cada tipo de datos de BigQuery. Antes de leer este documento, consulta la Descripción general de la API de BigQuery Storage Write (gRPC).
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
|
|
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.BytesValueUsa la
|
|
STRING |
string, enum, google.protobuf.StringValue |
TIME |
string
El valor debe ser un
|
TIMESTAMP |
int64 (preferido), 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
|
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 admitidos en Apache Arrow y el formato de entrada correspondiente en BigQuery.
| Tipo de datos de BigQuery | Tipos de Apache Arrow admitidos | Parámetros de tipo admitidos |
|---|---|---|
BOOL |
Boolean |
|
BYTES |
Binary |
|
DATE |
Date |
unit = Day |
String, int32 |
||
DATETIME |
Timestamp |
unit = MICROSECONDS
timezone está vacío |
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 más pequeña que el rango admitido de BigQuery. |
BIGNUMERIC |
Decimal256 |
Puedes proporcionar un BIGNUMERIC que tenga cualquier precisión o escala que sea más pequeña que el rango admitido de BigQuery. |
STRING |
Utf8 |
|
TIMESTAMP |
Timestamp |
unit= MICROSECONDS
timezone = UTC |
INTERVAL |
Interval |
unit en {YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO} |
Utf8 |
||
RANGE<T> |
Struct
La estructura de Arrow debe tener dos subcampos llamados Para la columna Para la columna Para Un |
|
REPEATED FIELD |
List |
Un valor NULL debe representarse con una lista vacía. |
RECORD |
Struct |