Вы можете попробовать загрузить данные в самоуправляемый ClickHouse или ClickHouse Cloud. Если у вас ещё нет аккаунта, вы можете начать с бесплатного пробного периода ClickHouse Cloud.
Загрузка набора данных
- Не выполняя вставку данных в ClickHouse, мы можем выполнять запросы к ним напрямую. Давайте выберем несколько строк, чтобы посмотреть, как они выглядят:
- Давайте создадим новую таблицу
MergeTreeс именемamazon_reviewsдля хранения этих данных в ClickHouse:
- Следующая команда
INSERTиспользует табличную функциюs3Cluster, которая распределяет файлы S3 между узлами вашего кластера для параллельного чтения.
default, поэтому команду можно выполнить в приведённом виде. На самоуправляемом сервере замените default на имя вашего кластера. Если же вы используете один сервер, вместо этого воспользуйтесь табличной функцией s3: уберите первый аргумент, чтобы вызов начинался с URL.
Мы используем подстановочный знак в URL, чтобы вставить все соответствующие файлы отзывов.
- Этот запрос выполняется быстро — в среднем около 300 000 строк в секунду. Примерно через 5 минут вы должны увидеть, что все строки вставлены:
- Давайте посмотрим, сколько места занимают наши данные:
Примеры запросов
- Выполним несколько запросов. Вот 10 самых полезных отзывов в наборе данных:
В этом запросе используется проекция для повышения производительности.
- Вот 10 товаров на Amazon с наибольшим числом отзывов:
- Вот средние оценки отзывов по месяцам для каждого товара (реальный вопрос с собеседования в Amazon!):
- Вот общее число голосов по каждой категории товаров. Этот запрос работает быстро, потому что
product_categoryвходит в primary key:
- Найдём товары, в отзывах к которым слово “awful” встречается чаще всего. Это ресурсоёмкая задача: нужно разобрать более 151 млн строк в поисках одного слова:
runnable
- Мы можем снова выполнить тот же запрос, но на этот раз будем искать awesome в отзывах:
runnable