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

Как запрашивать данные в bucket S3

Много данных в мире хранится в bucket'ах Amazon S3.
В этом руководстве мы узнаем, как запрашивать эти данные с помощью chDB.

Настройка

Сначала создадим виртуальную среду:

Теперь мы установим chDB.
Убедитесь, что у вас версия 2.0.2 или выше:

Теперь мы установим IPython:

Мы будем использовать ipython для выполнения команд в остальной части руководства, который можно запустить, выполнив:

Вы также можете использовать код в Python-скрипте или в вашем любимом блокноте.

Список файлов в bucket S3

Давайте начнем с того, чтобы вывести список всех файлов в bucket S3, который содержит отзывы Amazon.
Для этого мы можем использовать s3 функцию таблицы и передать путь к файлу или шаблон для набора файлов.

подсказка

Если вы передадите только имя bucket, это вызовет исключение.

Мы также будем использовать формат ввода One, чтобы файл не анализировался, вместо этого будет возвращена одна строка на файл, и мы сможем получить доступ к файлу через виртуальную колонку _file и путь через виртуальную колонку _path.

Этот bucket содержит только файлы Parquet.

Запрашиваем файлы в bucket S3

Далее давайте узнаем, как запрашивать эти файлы.
Если мы хотим подсчитать количество строк в каждом из этих файлов, мы можем выполнить следующий запрос:

Мы также можем передать HTTP URI для bucket S3 и получить те же результаты:

Давайте взглянем на схему этих файлов Parquet с использованием оператора DESCRIBE:

Теперь давайте вычислим топ категории продуктов на основе количества отзывов, а также вычислим средний рейтинг звезд:

Запрашиваем файлы в приватном bucket S3

Если мы запрашиваем файлы в приватном bucket S3, нам нужно передать ключ доступа и секрет.
Мы можем передать эти учетные данные функции таблицы s3:

примечание

Этот запрос не будет работать, потому что это публичный bucket!

Альтернативный способ - использовать именованные коллекции, однако этот подход пока не поддерживается chDB.