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

Как запрашивать файлы 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 во всех отзывах:

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