Быстрый старт ClickHouse OSS
В этом кратком руководстве по быстрому старту вы за несколько простых шагов настроите ClickHouse OSS. Вы будете использовать ClickHouse CLI
clickhousectl, чтобы установить ClickHouse, запустить сервер ClickHouse, подключиться к своему серверу, создать таблицу, вставить в неё данные и выполнить запрос SELECT.
Установка ClickHouse CLI \
ClickHouse CLI (clickhousectl) позволяет устанавливать локальные версии ClickHouse и управлять ими, запускать серверы и выполнять запросы. Для установки выполните:
Псевдоним chctl также создаётся автоматически для удобства использования.
Установка ClickHouse
ClickHouse работает нативно на Linux и macOS, а на Windows — через WSL.
Используйте CLI для установки последней стабильной версии ClickHouse:
Это не рекомендуемый способ установки ClickHouse для продакшена. Если вы хотите установить продакшен-экземпляр ClickHouse, см. страницу установки.
Запуск сервера
Запустите экземпляр сервера ClickHouse:
По умолчанию сервер работает в фоновом режиме. Чтобы убедиться, что он запущен:
Запуск клиента
Подключитесь к запущенному серверу ClickHouse:
После подключения к сервису, запущенному на localhost, вы должны увидеть улыбающееся лицо:
Вставка данных
Вы можете использовать привычную команду INSERT INTO TABLE в ClickHouse, однако важно понимать, что каждая вставка в таблицу MergeTree приводит к созданию в хранилище того, что в ClickHouse называется частью. Впоследствии эти части объединяются в фоновом режиме посредством слияния.
В ClickHouse рекомендуется вставлять данные большими пакетами (десятки тысяч или даже миллионы строк за раз), чтобы сократить количество частей, которые потребуют слияния в фоновом процессе.
В этом руководстве мы пока не будем на этом останавливаться. Выполните следующую команду, чтобы вставить несколько строк данных в таблицу:
Запросите данные из новой таблицы
Вы можете написать запрос SELECT так же, как и в любой другой SQL-базе данных:
Обратите внимание, что ответ возвращается в удобном табличном формате:
Вставка собственных данных [#insert-own-data}
Следующий шаг — загрузить собственные данные в ClickHouse. Для приёма данных доступны многочисленные табличные функции и интеграции. Несколько примеров приведено на вкладках ниже; полный список технологий, совместимых с ClickHouse, можно найти на странице Интеграции.
- S3
- GCS
- Веб
- Локально
- PostgreSQL
- MySQL
- ODBC/JDBC
- Очереди сообщений
- Озера данных
- Другое
Используйте табличную функцию s3, чтобы
читать файлы из S3. Это табличная функция, то есть в результате получается таблица,
которую можно:
- использовать как источник для запроса
SELECT(это позволяет выполнять произвольные запросы и оставлять данные в S3), или... - вставить результирующую таблицу в таблицу
MergeTree(когда будете готовы перенести данные в ClickHouse)
Произвольный запрос выглядит так:
Перенос данных в таблицу 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 ваши существующие фреймворки и источники данных.
Просмотр данных
- Ознакомьтесь с нашим разделом Core Concepts, чтобы узнать основные принципы работы ClickHouse изнутри.
- Ознакомьтесь с руководством продвинутого уровня, в котором более подробно рассматриваются ключевые концепции и возможности ClickHouse.
- Продолжите обучение на наших бесплатных курсах для самостоятельного прохождения в ClickHouse Academy.
- У нас есть список примеров наборов данных и инструкции по их загрузке.
- Если ваши данные поступают из внешнего источника, ознакомьтесь с нашей подборкой руководств по интеграции для подключения к очередям сообщений, базам данных, пайплайнам и многому другому.
- Если вы используете инструмент UI/BI для визуализации данных, ознакомьтесь с руководствами по подключению UI к ClickHouse.
- В руководстве по первичным ключам собрано всё, что нужно знать о первичных ключах и о том, как их задавать.