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