Быстрый старт с ClickHouse OSS
В этом учебном пособии быстрого старта мы поможем вам установить OSS ClickHouse за 8 простых шагов. Вы загрузите подходящий двоичный файл для вашей операционной системы, научитесь запускать сервер ClickHouse и использовать клиент ClickHouse для создания таблицы, затем вставите данные в неё и выполните запрос для выбора этих данных.
Загрузка ClickHouse
ClickHouse работает нативно на Linux, FreeBSD и macOS, и работает на Windows через
WSL. Самый простой способ загрузить ClickHouse локально - запустить
следующую команду curl. Она определяет, поддерживается ли ваша операционная система,
после чего загружает соответствующий двоичный файл ClickHouse.
Рекомендуем запускать команду ниже из новой и пустой подкаталога, так как некоторые файлы конфигурации будут созданы в каталоге, где находится двоичный файл, при первом запуске сервера ClickHouse.
Вы должны увидеть:
На этом этапе вы можете игнорировать подсказку о запуске команды install.
Для пользователей Mac: если вы получаете ошибки о том, что разработчик двоичного файла не может быть проверен, пожалуйста, смотрите "Исправление ошибки проверки разработчика в MacOS".
Запустите сервер
Запустите следующую команду, чтобы стартовать сервер ClickHouse:
Вы должны увидеть, как терминал заполняется логами. Это нормально. В ClickHouse
уровень логирования по умолчанию
установлен на trace, а не warning.
Запустите клиент
Используйте clickhouse-client, чтобы подключиться к вашему сервису ClickHouse. Откройте новый
терминал, перейдите в каталог, где сохранён ваш двоичный файл clickhouse, и
выполните следующую команду:
Вы должны увидеть улыбающееся лицо, когда он подключается к вашему сервису, работающему на localhost:
Вставьте данные
Вы можете использовать знакомую команду INSERT INTO TABLE с ClickHouse, но важно понимать,
что каждая вставка в таблицу MergeTree вызывает создание того, что мы
называем частью в ClickHouse для хранения. Эти ^^части^^ позже объединяются
в фоновом режиме ClickHouse.
В ClickHouse мы стараемся вставлять много строк одновременно (десятки тысяч или даже миллионы за раз), чтобы минимизировать количество частей, которые нужно объединить в фоновом процессе.
В этом руководстве мы пока не будем об этом беспокоиться. Запустите следующую команду для вставки нескольких строк данных в вашу таблицу:
Выполните запрос к вашей новой таблице
Вы можете написать запрос SELECT, так же как и с любой SQL базой данных:
Обратите внимание, что ответ приходит в красивом табличном формате:
Вставьте свои собственные данные
Следующий шаг - импортировать ваши собственные данные в ClickHouse. У нас есть много табличных функций и интеграций для загрузки данных. У нас есть примеры в закладках ниже или вы можете ознакомиться с нашей страницей Интеграции для длинного списка технологий, которые интегрируются с ClickHouse.
- S3
- GCS
- Web
- Local
- PostgreSQL
- MySQL
- ODBC/JDBC
- Сообщения
- Дата-Озера
- Другое
Используйте s3 таблицу функцию, чтобы
читать файлы из S3. Это табличная функция - означает, что результатом является таблица,
которая может быть:
- использована в качестве источника для запроса
SELECT(что позволяет вам выполнять запросы ad-hoc и сохранять ваши данные в 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.
- Руководство пользователя по первичным ключам - это всё, что вам нужно знать о первичных ключах и о том, как их определять.