Types de données de tampon de protocole et Arrow compatibles
L'API BigQuery Storage Write (gRPC) mappe chaque type de données de colonne BigQuery à des types d'entrée et des formats d'encodage de tampon de protocole et Apache Arrow spécifiques. Les tables de référence de ce document répertorient les mappages de types, les plages de valeurs et les paramètres de conversion compatibles. Pour en savoir plus sur les concepts de base de l'API, consultez Présentation de l'API BigQuery Storage Write (gRPC).
Types de données de tampon de protocole compatibles
Le tableau suivant présente 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 (à privilégier), 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
classe |
|
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
classe |
|
STRING |
string, enum et google.protobuf.StringValue |
TIME |
string
La valeur doit être une valeur littérale |
TIMESTAMP |
int64 (rôle à privilégier), 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 un littéral |
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 présente 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
Le fuseau horaire est vide |
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 une précision ou une échelle inférieure à la plage acceptée par BigQuery. |
BIGNUMERIC |
Decimal256 |
Vous pouvez fournir un BIGNUMERIC avec une précision ou une échelle inférieure à la plage acceptée par 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 Une valeur |
|
REPEATED FIELD |
List |
Une valeur NULL doit être représentée par une liste vide. |
RECORD |
Struct |