Описание
BSONEachRow разбирает данные как последовательность документов Binary JSON (BSON) без каких-либо разделителей между ними.
Каждая строка представляется в виде отдельного документа, а каждый столбец — в виде отдельного поля BSON-документа, где ключом служит имя столбца.
Соответствие типов данных
При вводе используется следующее соответствие между типами BSON и типами ClickHouse:
Другие типы BSON не поддерживаются. Кроме того, формат выполняет преобразование между различными целочисленными типами.
Например, значение BSON
int32 можно вставить в ClickHouse как UInt8.
Большие целые числа и десятичные значения, такие как Int128/UInt128/Int256/UInt256/Decimal128/Decimal256, можно разобрать из значения BSON Binary с бинарным подтипом \x00.
В этом случае формат проверяет, что размер бинарных данных соответствует размеру ожидаемого значения.
Этот формат не работает должным образом на платформах Big-Endian.
Пример использования
Вставка данных
football.bson со следующими данными:
Чтение данных
BSONEachRow: