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

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

На это уходит больше времени, но создается гораздо меньший сжатый файл: