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

Как запрашивать данные в 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.