Практическая работа. Добавление данных

Предположим, вы работаете в метеорологической службе и постоянно изучаете датасеты с погодными данными. Сбор данных о погоде автоматизирован: на территории области расположены несколько десятков пунктов наблюдения с датчиками. Информация о температуре, давлении, влажности и скорости ветра раз в полчаса передаётся с датчиков на центральный сервер. Приложение на сервере обрабатывает данные, переводит их в нужный формат и записывает в файл. Каждый файл содержит данные за три часа наблюдений. Для прогноза нужно учитывать всю историю наблюдений за последние несколько лет. То есть все файлы потребуется собрать в одну БД.Давайте потренируемся добавлять данные из файлов в БД ClickHouse.На предыдущих уроках мы создали кластер, на котором развёрнута БД, и научились подключаться к нему. Продолжим работать с этой БД, а в качестве добавляемого файла возьмем уже известный вам датасет с данными о погоде в Москве и Санкт-Петербурге.Сохраните файл на компьютере.Прежде чем добавлять файл в БД, создадим в ней таблицу, куда будут вставляться данные. Перейдите в SQL-консоль кластера и выполните команду:

Скопировать кодCREATE TABLE <имя вашей БД>.Weather
(  LocalDateTime DateTime,
   LocalDate Date,
   Month Int8,
   Day Int8,
   TempC Float32,
   Pressure Float32,
   RelHumidity Int32,
   WindSpeed10MinAvg Int32,
   VisibilityKm Float32,
   City String
) ENGINE=MergeTree
ORDER BY LocalDateTime; 

В результате будет создана пустая таблица с полями и типами данных, соответствующими полям и типам данных в нашем файле (датасете).

image

Вставим данные в таблицу с помощью клиента командной строки clickhouse-client. Команды для его установки (для Ubuntu):

Скопировать кодsudo apt-get install -y clickhouse-server clickhouse-client
 
sudo service clickhouse-server start
clickhouse-client 

Подробности о том, как установить клиент и работать с ним, вы найдёте в документации ClickHouse.Подключитесь к кластеру. Пример строки подключения посмотрите в консоли управления.Добавим файл с данными в БД с помощью команды:

Скопировать кодcat weather_data.tsv | clickhouse-client \
--host <адрес вашей БД> \
--secure \
--user user1 \
--database db1 \
--port 9440 \
-q "INSERT INTO db1.Weather FORMAT TabSeparated" \
--ask-password 

Переключившись в SQL-консоль, вы увидите, что данные появились в таблице.

image

Данные в БД можно загружать и другими способами: из приложений или клиентов с графическим интерфейсом (например, DBeaver). В этом случае подключение к БД и передача данных будут идти по HTTP-протоколу через порт 8443.Теперь вы можете анализировать 10-летний срез данных о погоде в Москве и Санкт-Петербурге непосредственно в ClickHouse, без обращений к внешним источникам. Попробуйте, например, выяснить, какой день был самым ветреным в этих городах.После практической работы остановите кластер, но не удаляйте его. Кластер ещё понадобится, когда мы будем рассматривать сервис визуализации и анализа данных Yandex DataLens.

Previous Story

Практическая работа. Работа с данными из объектного хранилища

Next Story

Особенности сервиса управляемых баз данных ClickHouse

Latest from Blog

Zabbix – Docker – Raspberry Pi

Для начала установим Portainer – веб-интерфейс для управления docker-контейнерами. Бесплатно, удобно, подойдет новичкам в docker. Установка

Сетевая папка/диск в Linux

x.x.x.x адрес шары /mnt/shara точка монтирования user пользователь с доступом к шаре 1234 пароль пользователя Для

Памятка SSH

В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые

0 £0.00