Вставка локальных файлов
Вы можете использовать clickhouse-client
для потоковой передачи локальных файлов в ваш сервис ClickHouse. Это позволяет вам предварительно обрабатывать данные с помощью многих мощных и удобных функций ClickHouse. Рассмотрим пример...
- Предположим, у нас есть файл TSV с именем
comments.tsv
, который содержит некоторые комментарии Hacker News, а строка заголовка содержит названия колонок. Вам нужно указать формат входных данных, когда вы вставляете данные, который в нашем случае будетTabSeparatedWithNames
:
- Давайте создадим таблицу для наших данных Hacker News:
- Мы хотим привести к нижнему регистру колонку
author
, что легко сделать с помощьюlower
функции. Мы также хотим разбить строкуcomment
на токены и сохранить результат в колонкеtokens
, что можно сделать с помощьюextractAll
функции. Все это можно сделать в одной командеclickhouse-client
— обратите внимание, как файлcomments.tsv
передается вclickhouse-client
с помощью оператора<
:
примечание
Функция input
полезна здесь, поскольку позволяет нам преобразовывать данные в процессе вставки в таблицу hackernews
. Аргументом для input
является формат входных сырых данных, и вы увидите это во многих других функциях таблицы (где вы указываете схему для входящих данных).
- Вот и все! Данные загружены в ClickHouse:
Результат:
- Еще один вариант - использовать инструмент
cat
, чтобы передать файл вclickhouse-client
. Например, следующая команда дает такой же результат, как и использование оператора<
:
Посетите страницу документации о clickhouse-client
для получения подробной информации о том, как установить clickhouse-client
на вашу локальную операционную систему.