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