Перейти к основному содержимому
Перейти к основному содержимому

Экспорт JSON

Практически любой формат JSON, используемый для импорта, можно использовать и для экспорта. Наиболее популярный формат — это JSONEachRow:

Или мы можем использовать JSONCompactEachRow, чтобы сэкономить место на диске, пропуская имена колонок:

Переопределение типов данных как строк

ClickHouse уважает типы данных и будет экспортировать JSON в соответствии со стандартами. Но в тех случаях, когда нам нужно, чтобы все значения были закодированы как строки, мы можем использовать формат JSONStringsEachRow:

Теперь числовая колонка hits закодирована как строка. Экспорт в виде строк поддерживается для всех форматов JSON*, просто исследуйте форматы JSONStrings\* и JSONCompactStrings\*:

Экспорт метаданных вместе с данными

Общий формат JSON, который популярен в приложениях, будет экспортировать не только результирующие данные, но и типы колонок, и статистику запроса:

Формат JSONCompact выведет ту же метаданную информацию, но использует компактную форму для самих данных:

Рассмотрите варианты JSONStrings или JSONCompactStrings, чтобы закодировать все значения как строки.

Компактный способ экспорта данных и структуры JSON

Более эффективный способ получить данные, а также их структуру, — использовать формат JSONCompactEachRowWithNamesAndTypes:

Этот формат будет использовать компактный JSON с двумя заголовочными строками с именами и типами колонок. Этот формат можно использовать для загрузки данных в другой экземпляр ClickHouse (или в другие приложения).

Экспорт JSON в файл

Чтобы сохранить экспортированные данные JSON в файл, мы можем использовать конструкцию INTO OUTFILE:

ClickHouse потребовалось всего 2 секунды, чтобы экспортировать почти 37 миллионов записей в файл JSON. Мы также можем экспортировать, используя конструкцию COMPRESSION, чтобы включить сжатие на лету:

Это занимает больше времени, но генерирует значительно меньший сжатый файл: