Types de données Protocol Buffer et Arrow compatibles
Ce document décrit les types de données Protocol Buffer et Arrow compatibles pour chaque type de données BigQuery. Avant de lire ce document, consultez la Présentation de l'API BigQuery Storage en écriture (gRPC).
Types de données Protocol Buffer compatibles
Le tableau suivant indique les types de données compatibles dans les tampons de protocole et le format d'entrée correspondant dans BigQuery :
| Type de données BigQuery | Types de tampons de protocole compatibles |
|---|---|
BOOL |
bool, int32, int64,
uint32, uint64, google.protobuf.BoolValue |
BYTES |
bytes, string, google.protobuf.BytesValue |
DATE |
int32 (préféré), int64, string
La valeur représente le nombre de jours écoulés depuis l'époque Unix (1970-01-01). La
plage valide est comprise entre |
DATETIME, TIME |
string
|
int64
Utilisez la
|
|
FLOAT |
double, float, google.protobuf.DoubleValue et google.protobuf.FloatValue |
GEOGRAPHY |
string
Cette valeur correspond à une géométrie au format 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.BytesValueUtilisez la
|
|
STRING |
string, enum et google.protobuf.StringValue |
TIME |
string
La valeur doit être une
|
TIMESTAMP |
int64 (préféré), int32,
uint32, google.protobuf.Timestamp
La valeur est donnée en microsecondes depuis l'époque Unix (1970-01-01). |
INTERVAL |
string, google.protobuf.Duration
La valeur de chaîne doit être une valeur littérale
|
RANGE<T> |
message
Type de message imbriqué dans le fichier proto avec deux champs, |
REPEATED FIELD |
array
Un type de tableau dans le fichier proto correspond à un champ répété dans BigQuery. |
RECORD |
message
Un type de message imbriqué dans le fichier proto correspond à un champ d'enregistrement dans BigQuery. |
Types de données Apache Arrow compatibles
Le tableau suivant indique les types de données compatibles dans Apache Arrow et le format d'entrée correspondant dans BigQuery.
| Type de données BigQuery | Types Apache Arrow compatibles | Paramètres de type compatibles |
|---|---|---|
BOOL |
Boolean |
|
BYTES |
Binary |
|
DATE |
Date |
unit = Day |
String, int32 |
||
DATETIME |
Timestamp |
unit = MICROSECONDS
timezone is empty |
FLOAT |
FloatingPoint |
Précision dans {SINGLE, DOUBLE} |
GEOGRAPHY |
Utf8
Cette valeur correspond à une géométrie au format WKT ou GeoJson. |
|
INTEGER |
int |
bitWidth dans {8, 16, 32, 64}
is_signed = false |
JSON |
Utf8 |
|
NUMERIC |
Decimal128 |
Vous pouvez fournir une valeur NUMERIC avec n'importe quelle précision ou échelle inférieure à la plage compatible avec BigQuery. |
BIGNUMERIC |
Decimal256 |
Vous pouvez fournir une valeur BIGNUMERIC avec n'importe quelle précision ou échelle inférieure à la plage compatible avec BigQuery. |
STRING |
Utf8 |
|
TIMESTAMP |
Timestamp |
unit= MICROSECONDS
timezone = UTC |
INTERVAL |
Interval |
unit dans {YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO} |
Utf8 |
||
RANGE<T> |
Struct
La structure Arrow doit comporter deux sous-champs nommés Pour la colonne Pour la colonne Pour la colonne Une valeur |
|
REPEATED FIELD |
List |
Une valeur NULL doit être représentée par une liste vide. |
RECORD |
Struct |