Descrição
BSONEachRow interpreta os dados como uma sequência de documentos Binary JSON (BSON), sem nenhum separador entre eles.
Cada linha é formatada como um único documento, e cada coluna é formatada como um único campo do documento BSON, com o nome da coluna como chave.
Correspondência entre tipos de dados
Para a entrada, é usada a seguinte correspondência entre os tipos BSON e os tipos ClickHouse:
Outros tipos BSON não são suportados. Além disso, o formato faz conversão entre diferentes tipos inteiros.
Por exemplo, é possível inserir um valor BSON
int32 no ClickHouse como UInt8.
Inteiros grandes e decimais, como Int128/UInt128/Int256/UInt256/Decimal128/Decimal256, podem ser convertidos de um valor BSON do tipo Binary com o subtipo binário \x00.
Nesse caso, o formato valida se o tamanho dos dados binários é igual ao tamanho do valor esperado.
Este formato não funciona corretamente em plataformas Big-Endian.
Exemplo de uso
Inserção de dados
football.bson:
Leitura de dados
BSONEachRow: