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

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