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

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