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

Вставка локальных файлов

Вы можете использовать clickhouse-client для поступающего потока локальных файлов в ваш сервис ClickHouse. Это позволяет вам предварительно обработать данные, используя множество мощных и удобных функций ClickHouse. Рассмотрим пример...

  1. Предположим, у нас есть файл TSV с именем comments.tsv, который содержит некоторые комментарии из Hacker News, и строка заголовка содержит имена столбцов. Вам нужно указать формат ввода, когда вы вставляете данные, который в нашем случае является TabSeparatedWithNames:
  1. Давайте создадим таблицу для наших данных Hacker News:
  1. Мы хотим преобразовать author в строчные буквы, что легко сделать с помощью lower функции. Мы также хотим разбить строку comment на токены и сохранить результат в столбце tokens, что можно сделать с помощью extractAll функции. Вы делаете все это в одной команде clickhouse-client - обратите внимание, как файл comments.tsv подается в clickhouse-client с помощью оператора <:
примечание

Функция input полезна здесь, так как позволяет нам преобразовывать данные в процессе вставки в таблицу hackernews. Аргумент для input - это формат входящих необработанных данных, и вы увидите это во многих других функционалах таблиц (где вы указываете схему для входящих данных).

  1. Вот и всё! Данные загружены в ClickHouse:

Результат будет:

  1. Другой вариант - использовать такую утилиту, как cat, чтобы передать файл в clickhouse-client. Например, следующая команда дает такой же результат, как и использование оператора <:

Посетите страницу документации о clickhouse-client для получения подробной информации о том, как установить clickhouse-client на вашу локальную операционную систему.