Перейти к основному содержимому
Перейти к основному содержимому

Как выполнять запросы к Parquet файлам

Множество данных в мире хранится в Amazon S3 корзинах.
В данном руководстве мы узнаем, как выполнять запросы к этим данным с помощью chDB.

Настройка

Сначала создадим виртуальное окружение:

Теперь установим chDB.
Убедитесь, что у вас версия 2.0.2 или выше:

Теперь установим IPython:

Мы будем использовать ipython для выполнения команд в остальной части руководства, который вы можете запустить, выполнив:

Вы также можете использовать код в Python скрипте или в вашем любимом блокноте.

Изучение метаданных Parquet

Мы собираемся изучить файл Parquet из набора данных Amazon reviews.
Но сначала давайте установим chDB:

При выполнении запросов к файлам Parquet мы можем использовать ParquetMetadata в качестве формата ввода, чтобы получить метаданные Parquet, а не содержимое файла.
Давайте используем оператор DESCRIBE, чтобы увидеть поля, возвращаемые при использовании этого формата:

Теперь давайте взглянем на метаданные этого файла.
columns и row_groups оба содержат массивы кортежей с множеством свойств, поэтому мы временно исключим их.

Из этого вывода мы узнаем, что этот файл Parquet содержит более 40 миллионов строк, разбитых на 42 группы строк, с 15 колонками данных в каждой строке.
Группа строк — это логическая горизонтальная партиция данных на строки.
Каждая группа строк имеет связанные метаданные, и инструменты для выполнения запросов могут использовать эти метаданные для эффективной выборки данных из файла.

Давайте взглянем на одну из групп строк:

Запросы к Parquet файлам

Далее, давайте запросим содержимое файла.
Мы можем сделать это, изменив предыдущий запрос, удалив ParquetMetadata, а затем, скажем, вычислив самую популярную star_rating среди всех отзывов:

Интересно, что количество пятерок больше, чем всех остальных оценок, объединенных вместе!
Похоже, людям нравятся продукты на Amazon, или, если нет, они просто не оставляют оценок.