Экспорт 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
, чтобы включить сжатие на лету:
Это занимает больше времени, но генерирует значительно меньший сжатый файл: