Tipos de dados de buffer de protocolo e Arrow compatíveis
Este documento descreve os tipos de dados de buffer de protocolo e Arrow compatíveis para cada tipo de dados do BigQuery. Antes de ler este documento, leia Visão geral da API BigQuery Storage Write.
Tipos de dados de buffer de protocolo compatíveis
A tabela a seguir mostra os tipos de dados compatíveis em buffers de protocolo e o formato de entrada correspondente no BigQuery:
| Tipo de dados do BigQuery | Tipos de buffer de protocolo compatíveis | 
|---|---|
BOOL | 
      bool, int32, int64,
        uint32, uint64, google.protobuf.BoolValue | 
    
BYTES | 
      bytes, string, google.protobuf.BytesValue | 
    
DATE | 
      int32 (recomendável), int64, string
      
        O valor é o número de dias desde a época Unix (1970-01-01). O
        intervalo válido é de   | 
    
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 precisa ser um   | 
    
TIMESTAMP | 
      int64 (recomendável), int32,
        uint32, google.protobuf.Timestamp
      O valor é fornecido em microssegundos desde a época Unix (1970-01-01).  | 
    
INTERVAL | 
      string, google.protobuf.Duration
      O valor da string precisa 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 registro no BigQuery.  | 
    
Tipos de dados do Apache Arrow compatíveis
A tabela a seguir mostra os tipos de dados compatíveis com o Apache Arrow e o formato de entrada correspondente no BigQuery.
| Tipo de dados do BigQuery | Tipos do Apache Arrow com suporte | Parâmetros de tipo compatíveis | 
|---|---|---|
BOOL | 
      Boolean | 
      |
BYTES | 
      Binary | 
      |
DATE | 
      Date | 
      unit = Day | 
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 em {8, 16, 32, 64}
       is_signed = false  | 
    
JSON | 
      Utf8 | 
      |
NUMERIC | 
      Decimal128 | 
      Você pode fornecer um NUMERIC com qualquer precisão ou escala menor que o intervalo compatível com o BigQuery. | 
BIGNUMERIC | 
      Decimal256 | 
      É possível fornecer um BIGNUMERIC com qualquer precisão ou escala menor que o intervalo compatível com o BigQuery. | 
STRING | 
      Utf8 | 
      |
TIMESTAMP | 
      Timestamp | 
      unit= MICROSECONDS
           timezone = UTC  | 
    
INTERVAL | 
      Interval | 
      unidade em {YEAR_MONTH, DAY_TIME, MONTH_DAY_NANO} | 
Utf8 | 
      ||
RANGE<T> | 
      Struct
      
        A estrutura do Arrow precisa ter dois subcampos chamados  Para a coluna  Para a coluna  Para o  Um valor   | 
      |
REPEATED FIELD | 
      List | 
      Um valor NULL precisa ser representado por uma lista vazia. | 
    
RECORD | 
      Struct |