Tipos de dados de buffers de protocolo e Arrow suportados
Este documento descreve os tipos de dados de buffers de protocolo e Arrow suportados para cada tipo de dados do BigQuery respetivo. Antes de ler este documento, leia o artigo Vista geral da API BigQuery Storage Write.
Tipos de dados de buffer de protocolo suportados
A tabela seguinte mostra os tipos de dados suportados nos buffers de protocolo e o formato de entrada correspondente no BigQuery:
| Tipo de dados do BigQuery | Tipos de buffers de protocolo suportados | 
|---|---|
BOOL | 
      bool, int32, int64,
        uint32, uint64, google.protobuf.BoolValue | 
    
BYTES | 
      bytes, string, google.protobuf.BytesValue | 
    
DATE | 
      int32 (preferencial), int64, string
      
        O valor é o número de dias desde a época Unix (1970-01-01). O intervalo
        válido é   | 
    
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.BytesValueUse a classe
          
          | 
    |
STRING | 
      string, enum, google.protobuf.StringValue | 
    
TIME | 
      string
      O valor tem de ser um literal   | 
    
TIMESTAMP | 
      int64 (preferencial), int32,
        uint32, google.protobuf.Timestamp
      O valor é indicado em microssegundos desde a época Unix (1970-01-01).  | 
    
INTERVAL | 
      string, google.protobuf.Duration
      O valor de string tem de 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 registo no BigQuery.  | 
    
Tipos de dados do Apache Arrow suportados
A tabela seguinte mostra os tipos de dados suportados no Apache Arrow e o formato de entrada correspondente no BigQuery.
| Tipo de dados do BigQuery | Tipos de Apache Arrow suportados | Parâmetros de tipo suportados | 
|---|---|---|
BOOL | 
      Boolean | 
      |
BYTES | 
      Binary | 
      |
DATE | 
      Date | 
      unidade = Dia | 
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 in {8, 16, 32, 64}
       is_signed = false  | 
    
JSON | 
      Utf8 | 
      |
NUMERIC | 
      Decimal128 | 
      Pode fornecer um NUMERIC que tenha qualquer precisão ou escala inferior ao intervalo suportado pelo BigQuery. | 
BIGNUMERIC | 
      Decimal256 | 
      Pode fornecer um BIGNUMERIC com qualquer precisão ou escala que seja inferior ao intervalo suportado pelo BigQuery. | 
STRING | 
      Utf8 | 
      |
TIMESTAMP | 
      Timestamp | 
      unit= MICROSECONDS
           timezone = UTC  | 
    
INTERVAL | 
      Interval | 
      unit in {YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO} | 
Utf8 | 
      ||
RANGE<T> | 
      Struct
      
        A Struct Arrow tem de ter dois subcampos com os nomes  Para a coluna  Para a coluna  Para o  Um valor   | 
      |
REPEATED FIELD | 
      List | 
      Um valor NULL tem de ser representado por uma lista vazia. | 
    
RECORD | 
      Struct |