В данном выпуске вы узнаете на конкретном примере, как загрузить в ClickHouse данные из Excel с помощью Python для последующего анализа в DataLens.
Итак, представим, что у нас есть некая Эксель таблица, данные из которой нам нужно перенести в Даталенс. Но перенести не просто так, а именно в БД ClickHouse. Казалось бы, почему бы ни добавить ее в качестве отдельного источника и все. Но, к сожалению, собирать один общий датасет из разных источников нельзя, а мы, допустим, работаем и собираем все в ClickHouse.
Ниже у нас есть некие данные с трема продажами.
Как загрузить в ClickHouse данные из Excel
Так как же их перенести в базу данных? Тут нам придет на помощь Питон. Данный язык программирования мы можем использовать как мост между Экселем и ClickHouse.
Суть данного метода в следующем:
- считываем данные из файла,
- сохраняем таблицу в ДатаФрейм с помощью библиотеки Pandas,
- заливаем этот фрейм в новую таблицу Кликхауса.
Ниже вы найдете первую часть кода. Давайте посмотрим по шагам, что там происходит. В данной статье мы не будем останавливаться на основах работы с Питоном, базовые вещи вы сможете найти в других открытых источниках. Для программирования на Python обычно я пользуюсь Jupyter, но вы можете использовать другие варианты.
Вначале нам надо подгрузить все необходимые библиотеки — pandas, numpy и т.д. Затем помещаем в переменную file исходную таблицу. Указываем путь и колонки, которые надо взять. Следующим шагом задаем нужные нам названия для колонок.
В принципе, Датафрейм готов. Выведем его на экран, просто указав название. И видим наши три строки.
Следующим шагом нам останется просто перенести эту таблицу в Кликхаус, но вначале надо к ней подключиться. Поэтому первым делом задаем настройки подключения — хост, логин и пароль к БД. Все эти данные можно найти в настройках кластера в разделе Подключиться.
И теперь нам остается с помощью языка SQL просто определить новую таблицу и задать типы данных для каждой колонки. Например, город — это строка, а сумма — это число.
Следующим шагом очищаем таблицу, если там уже были данные и записываем новые. После выполнения последнего шага мы увидим число 3, то есть три строки записаны в базу.
На этом все! Данные успешно импортированы в ClickHouse. Давайте это проверим.
Заходим в раздел Создать датасет, подтягиваем наш источник и видим там новую таблицу. Перетаскиваем вправо, и внизу появятся наши строки.
Как обновить данные в ClickHouse из Excel?
Теперь, чтобы обновить данные, вам достаточно лишь внести изменения в Эксель и просто запустить скрипт Питона. Данные автоматически появятся и в Даталенс. Таким образом, такой скрипт можно как запускать самостоятельно, так и поставить на расписание и обновлять данные в ClickHouse, например, раз в сутки.
Видео версию данного урока можно посмотреть тут.
Если вам понравился урок, то можете поддержать проект по кнопке ниже. Это очень поможет делать для вас больше интересных и полезных выпусков. Спасибо!
Другие уроки
Как загрузить в ClickHouse данные из Excel с помощью Python.
Задать вопросы и обсудить волнующие темы про аналитику данных теперь можно на нашем форуме.
Если вам понравился урок, подписывайтесь на канал или группу и ставьте лайки. А также пишите в комментариях свои кейсы или вопросы. Самые интересные мы обязательно разберем.