Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • Yandex Neurosupport
    • Yandex Cloud Detection and Response
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • GOST Gateway
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • SourceCraft
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • Serverless Integrations
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Yandex Cloud Trust
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Data Processing
  • Начало работы
    • Все инструкции
      • Подключение к интерфейсам компонентов
      • Использование Sqoop
      • Настройка Apache Iceberg™
    • Подготовка и использование виртуальных окружений Python
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Настройте свойства компонентов для работы с Apache Iceberg™
  • Пример использования Apache Iceberg™
  1. Пошаговые инструкции
  2. Сервисы Apache и другие сторонние сервисы
  3. Настройка Apache Iceberg™

Настройка Apache Iceberg™ в кластере Yandex Data Processing

Статья создана
Yandex Cloud
Обновлена 9 июня 2026 г.
Открыть в Markdown
  • Настройте свойства компонентов для работы с Apache Iceberg™
  • Пример использования Apache Iceberg™

Yandex Data Processing версии 2.0 и выше поддерживает использование таблиц Apache Iceberg™ совместно с движком Apache Spark™.

Подробную информацию об Apache Iceberg™ читайте в разделе Apache Iceberg™ в Yandex Data Processing и в официальной документации.

Примечание

Apache Iceberg™ не является частью сервиса Yandex Data Processing и не сопровождается командой разработки и службой поддержки Yandex Cloud, а его использование не входит в условия использования Yandex Data Processing.

Настройте свойства компонентов для работы с Apache Iceberg™Настройте свойства компонентов для работы с Apache Iceberg™

  1. Установите свойство spark:spark.sql.extensions в значение org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions. Это можно сделать как на уровне кластера, так и на уровне отдельного задания.

  2. Добавьте библиотеки Apache Iceberg™ в зависимости кластера или отдельного задания. Версии библиотек должны быть совместимы с версией Yandex Data Processing.

    Образ 2.0.x
    Образы 2.1.0–2.1.3
    Образы 2.1.4–2.1.x
    Образ 2.2.x

    Чтобы добавить библиотеки требуемых версий, воспользуйтесь одним из способов:

    • Настройте доступ к репозиторию Maven и установите свойство spark:spark.jars.packages в значение org.apache.iceberg:iceberg-spark-runtime-3.0_2.12:1.0.0.

      Настроить доступ к Maven можно двумя способами:

      • В группе безопасности кластера разрешите сетевой доступ к репозиторию Maven Central.
      • Настройте альтернативный репозиторий Maven и разрешите трафик к нему в группе безопасности кластера.
    • Скачайте файл библиотеки iceberg-spark-runtime-3.0_2.12-1.0.0.jar и предоставьте доступ к нему одним из способов:

      • Сохраните файл в бакет Yandex Object Storage и передайте URL файла в свойстве spark:spark.jars.

        URL файла имеет формат s3a://<имя_бакета>/<путь_к_файлу>.

        Этот бакет должен быть указан в настройках кластера. Сервисный аккаунт кластера должен иметь доступ на чтение из бакета.

      • Скопируйте файл на все узлы кластера вручную или с помощью скриптов инициализации и передайте полный путь к файлу в свойствах spark:spark.driver.extraClassPath и spark:spark.executor.extraClassPath.

    Чтобы добавить библиотеки требуемых версий, воспользуйтесь одним из способов:

    • Настройте доступ к репозиторию Maven и установите свойство spark:spark.jars.packages в значение org.apache.iceberg:iceberg-spark-runtime-3.2_2.12-1.4.3.

      Настроить доступ к Maven можно двумя способами:

      • В группе безопасности кластера разрешите сетевой доступ к репозиторию Maven Central.
      • Настройте альтернативный репозиторий Maven и разрешите трафик к нему в группе безопасности кластера.
    • Скачайте файл библиотеки iceberg-spark-runtime-3.2_2.12-1.4.3.jar и предоставьте доступ к нему одним из способов:

      • Сохраните файл в бакет Yandex Object Storage и передайте URL файла в свойстве spark:spark.jars.

        URL файла имеет формат s3a://<имя_бакета>/<путь_к_файлу>.

        Этот бакет должен быть указан в настройках кластера. Сервисный аккаунт кластера должен иметь доступ на чтение из бакета.

      • Скопируйте файл на все узлы кластера вручную или с помощью скриптов инициализации и передайте полный путь к файлу в свойствах spark:spark.driver.extraClassPath и spark:spark.executor.extraClassPath.

    Чтобы добавить библиотеки требуемых версий, воспользуйтесь одним из способов:

    • Настройте доступ к репозиторию Maven и установите свойство spark:spark.jars.packages в значение org.apache.iceberg:iceberg-spark-runtime-3.3_2.12:1.5.2.

      Настроить доступ к Maven можно двумя способами:

      • В группе безопасности кластера разрешите сетевой доступ к репозиторию Maven Central.
      • Настройте альтернативный репозиторий Maven и разрешите трафик к нему в группе безопасности кластера.
    • Скачайте файл библиотеки iceberg-spark-runtime-3.3_2.12-1.5.2.jar и предоставьте доступ к нему одним из способов:

      • Сохраните файл в бакет Yandex Object Storage и передайте URL файла в свойстве spark:spark.jars.

        URL файла имеет формат s3a://<имя_бакета>/<путь_к_файлу>.

        Этот бакет должен быть указан в настройках кластера. Сервисный аккаунт кластера должен иметь доступ на чтение из бакета.

      • Скопируйте файл на все узлы кластера вручную или с помощью скриптов инициализации и передайте полный путь к файлу в свойствах spark:spark.driver.extraClassPath и spark:spark.executor.extraClassPath.

    Чтобы добавить библиотеки требуемых версий, воспользуйтесь одним из способов:

    • Настройте доступ к репозиторию Maven и установите свойство spark:spark.jars.packages в значение org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.5.2.

      Настроить доступ к Maven можно двумя способами:

      • В группе безопасности кластера разрешите сетевой доступ к репозиторию Maven Central.
      • Настройте альтернативный репозиторий Maven и разрешите трафик к нему в группе безопасности кластера.
    • Скачайте файл библиотеки iceberg-spark-runtime-3.5_2.12-1.5.2.jar и предоставьте доступ к нему одним из способов:

      • Сохраните файл в бакет Yandex Object Storage и передайте URL файла в свойстве spark:spark.jars.

        URL файла имеет формат s3a://<имя_бакета>/<путь_к_файлу>.

        Этот бакет должен быть указан в настройках кластера. Сервисный аккаунт кластера должен иметь доступ на чтение из бакета.

      • Скопируйте файл на все узлы кластера вручную или с помощью скриптов инициализации и передайте полный путь к файлу в свойствах spark:spark.driver.extraClassPath и spark:spark.executor.extraClassPath.

Теперь вы можете использовать Apache Iceberg™ в кластере Yandex Data Processing.

Пример использования Apache Iceberg™Пример использования Apache Iceberg™

Пример проверялся в кластере Yandex Data Processing версии 2.0, в котором:

  • Установлены компоненты Spark и Hadoop.
  • Подключен бакет Object Storage, и сервисный аккаунт кластера имеет права на чтение и запись в этом бакете.
  • Настроен доступ к репозиторию Maven Central.
  • Необходимые свойства компонентов настроены так, чтобы библиотеки Apache Iceberg™ загружались из Maven Central.

Чтобы создать таблицу в формате Apache Iceberg™ и начать работать с ней:

  1. Укажите настройки каталога, в котором будет находиться таблица.

    Apache Iceberg™ оперирует таблицами на уровне отдельных каталогов. Настройки каталога указываются на уровне отдельного каталога, нельзя указать настройки для всех каталогов сразу.

    Чтобы настроить каталог sample типа Hadoop, установите следующие свойства на уровне кластера или на уровне отдельного задания:

    • Свойство spark:spark.sql.catalog.sample со значением org.apache.iceberg.spark.SparkCatalog.

    • Свойство spark:spark.sql.catalog.sample.type со значением hadoop.

    • Свойство spark:spark.sql.catalog.sample.warehouse со значением s3a://<имя_бакета>/warehouse/.

      Данные таблиц будут храниться в бакете по пути warehouse/.

    Подробнее о свойствах, влияющих на настройки каталога, в документации Apache Iceberg™.

  2. Подключитесь по SSH к хосту-мастеру кластера Yandex Data Processing.

  3. Запустите сессию Spark SQL:

    spark-sql
    

    Все дальнейшие действия будут выполняться в рамках этой сессии.

  4. Создайте базу данных db в каталоге sample:

    CREATE DATABASE sample.db;
    
  5. Переключитесь на базу данных db в каталоге sample:

    USE sample.db;
    
  6. Создайте таблицу mytable, состоящую из двух колонок:

    CREATE TABLE mytable (id bigint, data string) USING iceberg;
    
  7. Посмотрите сведения о таблице:

    DESC FORMATTED mytable;
    

    Пример результата:

    id      bigint
    data    string
    
    # Partitioning
    Not partitioned
    
    # Detailed Table Information
    Name    sample.db.mytable
    Location        s3a://<имя_бакета>/warehouse/db/mytable
    Provider        iceberg
    Owner   ubuntu
    Table Properties        [current-snapshot-id=none,format=iceberg/parquet]
    
  8. Вставьте несколько записей в таблицу:

    INSERT INTO mytable VALUES (1, 'a'), (2, 'b'), (3, 'c');
    
  9. Выполните тестовый запрос к таблице:

    SELECT count(1), data FROM mytable GROUP BY data;
    

    Пример результата:

    1       a
    1       b
    1       c
    

Была ли статья полезна?

Предыдущая
Использование Sqoop
Следующая
Настройка Delta Lake в однокластерном режиме
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»