Значительная часть мировых данных хранится в 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 г.