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

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

Вы можете использовать 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 на вашу локальную операционную систему.