Быстрый старт с ClickHouse OSS
В этом кратком руководстве по быстрому старту вы за 8 простых шагов настроите ClickHouse OSS. Вы скачаете подходящий бинарный файл для своей ОС, узнаете, как запускать сервер ClickHouse, и воспользуетесь клиентом ClickHouse, чтобы создать таблицу, затем вставите в неё данные и выполните запрос для выборки этих данных.
Загрузка ClickHouse
ClickHouse работает нативно на Linux, FreeBSD и macOS, а на Windows — через
WSL. Самый простой способ загрузить ClickHouse локально — выполнить
следующую команду curl. Команда определяет, поддерживается ли ваша операционная система,
и загружает соответствующий бинарный файл ClickHouse, собранный из ветки master.
Рекомендуется выполнять приведённую ниже команду из нового пустого подкаталога, так как при первом запуске сервера ClickHouse в каталоге с исполняемым файлом будут созданы конфигурационные файлы.
Приведенный ниже скрипт не рекомендуется использовать для установки ClickHouse в production-среде. Если вам необходимо установить production-экземпляр ClickHouse, обратитесь к странице установки.
Вы увидите:
На данном этапе вы можете проигнорировать предложение выполнить команду install.
Для пользователей Mac: Если вы получаете ошибки о том, что разработчик бинарного файла не может быть проверен, см. "Исправление ошибки проверки разработчика в MacOS".
Запуск сервера
Выполните следующую команду для запуска сервера ClickHouse:
Терминал должен заполниться логами. Это ожидаемое поведение. В ClickHouse
уровень логирования по умолчанию
установлен в trace, а не в warning.
Запуск клиента
Используйте clickhouse-client для подключения к вашему сервису ClickHouse. Откройте новый
терминал, перейдите в каталог, где сохранён бинарный файл clickhouse, и
выполните следующую команду:
При успешном подключении к вашему сервису на localhost вы увидите смайлик:
Вставка данных
Вы можете использовать знакомую команду INSERT INTO TABLE с ClickHouse, но важно
понимать, что каждая вставка в таблицу MergeTree приводит к созданию в хранилище
того, что мы называем партом (part) в ClickHouse. Эти ^^парты^^ впоследствии
объединяются ClickHouse в фоновом режиме.
В ClickHouse рекомендуется выполнять массовую вставку большого количества строк за один раз (десятки тысяч или даже миллионы одновременно), чтобы минимизировать количество частей, которые необходимо объединять в фоновом процессе.
В данном руководстве мы пока не будем этим заниматься. Выполните следующую команду для вставки нескольких строк данных в таблицу:
Запросы к новой таблице
Запрос SELECT можно написать так же, как в любой другой SQL-базе данных:
Обратите внимание, что ответ возвращается в виде таблицы:
Вставка собственных данных
Следующий шаг — загрузить ваши данные в ClickHouse. Для приёма данных доступно множество табличных функций и интеграций. Примеры приведены на вкладках ниже. Полный список технологий, интегрируемых с ClickHouse, представлен на странице Интеграции.
- S3
- GCS
- Веб
- Локальный
- PostgreSQL
- MySQL
- ODBC/JDBC
- Очереди сообщений
- Озёра данных
- Другое
Используйте табличную функцию s3,
чтобы читать файлы из S3. Это табличная функция — то есть результатом является таблица,
которую можно:
- использовать как источник для запроса
SELECT(что позволяет выполнять разовые запросы и оставлять данные в S3), или - вставить результат в таблицу
MergeTree(когда вы будете готовы перенести данные в ClickHouse).
Пример разового (ad hoc) запроса:
Перемещение данных в таблицу ClickHouse будет выглядеть следующим образом, где
nyc_taxi — это таблица MergeTree:
Ознакомьтесь с нашей подборкой материалов документации AWS S3, где приведена подробная информация и примеры использования S3 с ClickHouse.
Табличная функция s3, используемая для
чтения данных из AWS S3, также работает с файлами в Google Cloud Storage.
Например:
Дополнительные сведения см. на странице табличной функции s3.
Табличная функция url читает
файлы, доступные в интернете:
Дополнительную информацию см. на странице табличной функции url.
Используйте движок таблицы file,
чтобы прочитать локальный файл. Для упрощения скопируйте файл в директорию user_files
(она находится в каталоге, куда вы скачали бинарный файл ClickHouse).
Обратите внимание, что ClickHouse определяет имена и типы данных ваших столбцов, анализируя большую выборку строк. Если ClickHouse не может определить формат файла по имени файла, вы можете указать его вторым аргументом:
Подробнее см. страницу документации табличной функции file.
Используйте табличную функцию postgresql,
чтобы читать данные из таблицы в PostgreSQL:
Подробности см. на странице документации по табличной функции postgresql.
Используйте табличную функцию mysql,
чтобы читать данные из таблицы в MySQL:
Подробнее см. страницу документации по табличной функции mysql.
ClickHouse может читать данные из любого источника данных ODBC или JDBC:
Ознакомьтесь со страницами документации по табличной функции odbc
и табличной функции jdbc для получения более подробной информации.
Очереди сообщений могут передавать данные в ClickHouse с помощью соответствующего движка таблицы, в том числе:
- Kafka: интегрируйте с Kafka с помощью движка таблицы
Kafka - Amazon MSK: интегрируйте с Amazon Managed Streaming for Apache Kafka (MSK)
- RabbitMQ: интегрируйте с RabbitMQ с помощью движка таблицы
RabbitMQ
В ClickHouse есть табличные функции для чтения данных из следующих источников:
- Hadoop: интеграция с Apache Hadoop с использованием табличной функции
hdfs - Hudi: чтение из существующих таблиц Apache Hudi в S3 с использованием табличной функции
hudi - Iceberg: чтение из существующих таблиц Apache Iceberg в S3 с использованием табличной функции
iceberg - DeltaLake: чтение из существующих таблиц Delta Lake в S3 с использованием табличной функции
deltaLake
Ознакомьтесь с нашим обширным списком интеграций ClickHouse, чтобы узнать, как подключить имеющиеся фреймворки и источники данных к ClickHouse.
Исследование данных
- Ознакомьтесь с разделом Основные концепции, чтобы познакомиться с основами того, как ClickHouse работает «под капотом».
- Ознакомьтесь с углублённым руководством, которое гораздо глубже раскрывает ключевые концепции и возможности ClickHouse.
- Продолжите обучение, пройдя наши бесплатные онлайн‑курсы в удобное для вас время в ClickHouse Academy.
- У нас есть список примеров наборов данных с инструкциями по их загрузке.
- Если ваши данные поступают из внешнего источника, ознакомьтесь с нашей подборкой руководств по интеграциям для подключения к очередям сообщений, базам данных, пайплайнам и другим системам.
- Если вы используете инструмент визуализации (UI/BI), ознакомьтесь с руководствами по подключению UI к ClickHouse.
- Руководство пользователя по первичным ключам содержит всю необходимую информацию о первичных ключах и их определении.