Отзывы покупателей Amazon
Этот датасет содержит более 150 млн отзывов покупателей о товарах Amazon. Данные хранятся в файлах формата Parquet, сжатых алгоритмом Snappy, в AWS S3; общий сжатый объём — 49 ГБ. Далее рассмотрим шаги по загрузке этого датасета в ClickHouse.
Приведённые ниже запросы выполнялись на Production-инстансе ClickHouse Cloud. Для получения дополнительной информации см. раздел "Playground specifications".
Загрузка набора данных
- Не загружая данные в ClickHouse, мы можем обращаться к ним напрямую. Давайте выберем несколько строк, чтобы посмотреть, как они выглядят:
Строки имеют следующий вид:
- Давайте создадим новую таблицу типа
MergeTreeс именемamazon_reviewsдля хранения этих данных в ClickHouse:
- Следующая команда
INSERTиспользует табличную функциюs3Cluster, которая позволяет обрабатывать несколько файлов S3 параллельно на всех узлах кластера. Мы также используем подстановочный символ (wildcard), чтобы вставить любые файлы, имена которых начинаются сhttps://datasets-documentation.s3.eu-west-3.amazonaws.com/amazon_reviews/amazon_reviews_*.snappy.parquet:
В ClickHouse Cloud имя кластера — default. Замените default на имя вашего кластера... или используйте табличную функцию s3 (вместо s3Cluster), если кластера у вас нет.
- Этот запрос выполняется недолго — в среднем около 300 000 строк в секунду. Примерно через 5 минут или около того вы должны увидеть все вставленные строки:
- Давайте посмотрим, сколько места занимают наши данные:
Объём исходных данных составлял около 70 ГБ, но после сжатия в ClickHouse они занимают около 30 ГБ.
Примеры запросов
- Давайте выполним несколько запросов. Ниже приведены 10 наиболее полезных отзывов в этом наборе данных:
Этот запрос использует проекцию для повышения производительности.
- Вот топ‑10 товаров на Amazon по количеству отзывов:
- Вот средние рейтинги отзывов по месяцам для каждого товара (реальный вопрос на собеседовании в Amazon!):
- Вот общее число голосов по категориям товаров. Этот запрос выполняется быстро, потому что
product_categoryвходит в первичный ключ:
- Найдём товары, в отзывах на которые слово «awful» встречается чаще всего. Это большая задача — нужно разобрать более 151 млн строк в поисках одного слова:
Обратите внимание на время выполнения запроса для такого большого объёма данных. Результаты тоже любопытно почитать!
- Мы можем выполнить тот же запрос ещё раз, только на этот раз будем искать awesome в отзывах: