Как запрашивать файлы 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, или, если не нравятся, они просто не оставляют оценку.