Перейти к основному содержанию
Значительная часть мировых данных хранится в S3 бакетах Amazon. В этом руководстве показано, как выполнять запросы к этим данным с помощью 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 пока не поддерживает этот подход.
Последнее изменение 10 июня 2026 г.