Как выполнять запросы к 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
среди всех отзывов:
Интересно, что количество пятерок больше, чем всех остальных оценок, объединенных вместе!
Похоже, людям нравятся продукты на Amazon, или, если нет, они просто не оставляют оценок.