Как выполнять запросы к данным в ведре S3
Много данных мира находится в ведрах Amazon S3.
В этом руководстве мы узнаем, как выполнять запросы к этим данным с помощью chDB.
Настройка
Сначала создадим виртуальное окружение:
Теперь установим chDB.
Убедитесь, что у вас версия 2.0.2 или выше:
Теперь мы установим IPython:
Мы будем использовать ipython
для выполнения команд в остальной части руководства, который можно запустить, выполнив:
Вы также можете использовать код в Python-скрипте или в вашем любимом блокноте.
Перечисление файлов в ведре S3
Начнем с перечисления всех файлов в ведре S3, содержащем отзывы Amazon.
Для этого мы можем использовать s3
табличную функцию и передать путь к файлу или маске для набора файлов.
Если вы передадите только имя ведра, будет выброшено исключение.
Мы также будем использовать One
входной формат, чтобы файл не разбирался, а возвращалась одна строка на файл, и мы могли получить доступ к файлу через виртуальный столбец _file
, а к пути через виртуальный столбец _path
.
Это ведро содержит только файлы формата Parquet.
Запрос файлов в ведре S3
Теперь давайте узнаем, как выполнять запросы к этим файлам.
Если мы хотим подсчитать количество строк в каждом из этих файлов, мы можем выполнить следующий запрос:
Мы также можем передать HTTP URI для ведра S3 и получить те же результаты:
Давайте посмотрим на схему этих файлов Parquet, используя оператор DESCRIBE
:
Теперь давайте вычислим топовые категории продуктов на основе количества отзывов, а также вычислим средний рейтинг:
Запрос файлов в частном ведре S3
Если мы запрашиваем файлы в частном ведре S3, нам нужно передать ключ доступа и секрет.
Мы можем передать эти учетные данные в s3
табличную функцию:
Этот запрос не будет работать, потому что это публичное ведро!
Альтернативный способ - использовать именованные коллекции, но этот подход еще не поддерживается chDB.