Поделиться через


Мониторинг и управление затратами на исходящий трафик Delta Sharing (для поставщиков)

В этой статье описываются инструменты, которые можно использовать для мониторинга и управления исходящими расходами поставщика облачных услуг при совместном использовании данных и ресурсов ИИ с применением Delta Sharing.

В отличие от других платформ для обмена данными, Delta Sharing не требует репликации данных. Эта модель имеет множество преимуществ, но это означает, что поставщик облачных служб может взимать плату за исходящий трафик при отправке данных между облаками или регионами. Если вы используете Delta Sharing для совместного использования данных и активов ИИ в пределах региона, вы не несете расходов на передачу данных за пределы региона.

Для мониторинга и управления расходами на исходящий трафик платформа Databricks предоставляет:

Репликация данных, чтобы избежать затрат на исходящий трафик

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

Использование разностного глубокого клонирования для добавочной репликации

Поставщики могут использовать DEEP CLONE для репликации таблиц Delta во внешние местоположения в регионах, к которым они имеют общий доступ. Глубокие клоны копируют данные исходной таблицы и метаданные в целевой объект клонирования. Глубокие клоны также обеспечивают добавочные обновления, определяя новые данные в исходной таблице и обновляя целевой объект соответствующим образом.

CREATE TABLE [IF NOT EXISTS] table_name DEEP CLONE source_table_name
   [TBLPROPERTIES clause] [LOCATION path];

Вы можете запланировать задание Databricks для обновления данных целевой таблицы пошагово, с учётом последних обновлений в общей таблице, используя следующую команду:

CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;

См. Клонирование таблицы в Azure Databricks и Обзор оркестрации в Databricks.

Включение функции передачи данных об изменениях (CDF) в общих таблицах для поэтапной репликации.

При совместном использовании таблицы с CDF получатель может получить доступ к изменениям и объединить их в локальную копию таблицы, где пользователи выполняют запросы. В этом сценарии доступ получателя к данным не пересекает границы региона, а исходящий трафик ограничен обновлением локальной копии. Если получатель находится в Databricks, он может использовать задание рабочего процесса Databricks для распространения изменений в локальную реплику.

Чтобы предоставить общий доступ к таблице с CDF, необходимо активировать CDF на таблице и затем поделиться ею WITH HISTORY.

Дополнительные сведения об использовании CDF см. в статье Использование потока данных изменений Delta Lake в Azure Databricks и Добавление таблиц в общий доступ.

Используйте реплики Cloudflare R2 или мигрируйте хранилище в R2

Хранилище объектов Cloudflare R2 не несет платы за исходящий трафик. Репликация или перенос данных, которые вы делитесь в R2, позволяет предоставлять общий доступ к данным с помощью Delta Sharing без платы за исходящий трафик. Однако это не относится к просмотру общего доступа, что может по-прежнему привести к затратам на исходящий трафик. В этом разделе описывается, как реплицировать данные в местоположение R2 и включить пошаговые обновления на основе исходных таблиц.

Требования

  • Рабочая область Databricks включена для каталога Unity.
  • Databricks Runtime 14.3 или более поздней версии или хранилище SQL 2024.15 или более поздней версии.
  • Учетная запись Cloudflare. См. https://dash.cloudflare.com/sign-up.
  • Роль администратора Cloudflare R2. См. документацию по ролям Cloudflare.
  • CREATE STORAGE CREDENTIAL привилегии на хранилище метаданных Unity Catalog, подключенное к рабочей области. Администраторы учетных записей и администраторы хранилища метаданных имеют эту привилегию по умолчанию.
  • CREATE EXTERNAL LOCATION привилегия как для метахранилища, так и для учетных данных хранилища, на которые ссылается внешнее местоположение. Администраторы хранилища метаданных имеют эту привилегию по умолчанию.
  • CREATE MANAGED STORAGE привилегии во внешнем расположении.
  • CREATE CATALOG в хранилище метаданных. Администраторы хранилища метаданных имеют эту привилегию по умолчанию.

Ограничения для Cloudflare R2

Поставщики не могут совместно использовать таблицы R2, использующие жидкую кластеризацию и контрольную точку V2.

Подключение контейнера R2 в качестве внешнего расположения в Azure Databricks

  1. Создайте контейнер Cloudflare R2.

    См. раздел "Настройка контейнера R2".

  2. Создайте учетные данные хранения в каталоге Unity, который предоставляет доступ к контейнеру R2.

    См. Создайте учетные данные хранилища.

  3. Используйте данные доступа к хранилищу для создания внешнего расположения в каталоге Unity.

    См. статью "Создание внешнего расположения для подключения облачного хранилища к Azure Databricks".

Создайте новый каталог, используя внешнее расположение

Создайте каталог, использующий новое внешнее местоположение в качестве управляемого хранилища.

См. Создание каталогов.

При создании каталога выполните следующие действия.

Обозреватель каталогов

  • Выберите тип каталога standard.
  • В разделе расположение хранилищавыберите Выберите расположение хранилища и введите путь к контейнеру R2, определенному как внешнее расположение. Например: r2://mybucket@my-account-id.r2.cloudflarestorage.com

SQL

Используйте путь к контейнеру R2, указанному как внешнее расположение. Например:

  CREATE CATALOG IF NOT EXISTS my-r2-catalog
    MANAGED LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com'
    COMMENT 'Location for managed tables and volumes to share using Delta Sharing';

Скопируйте данные, которые вы хотите поделиться, в таблицу в новом каталоге.

Используйте DEEP CLONE для репликации таблиц в Azure Data Lake Storage 2-го поколения в новый каталог, использующий R2 для управляемого хранилища. Глубокие клоны копируют данные исходной таблицы и метаданные в целевой объект клонирования. Глубокие клоны также обеспечивают добавочные обновления, определяя новые данные в исходной таблице и обновляя целевой объект соответствующим образом.

CREATE TABLE IF NOT EXISTS new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table
  LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com';

Можно запланировать задание Databricks для инкрементного обновления данных целевой таблицы с последними изменениями в исходной таблице, используя следующую команду:

CREATE OR REPLACE TABLE new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table;

См. Клонирование таблицы в Azure Databricks и Обзор оркестрации в Databricks.

Поделитесь новой таблицей

При создании общей папки добавьте таблицы, хранящиеся в новом каталоге, хранящиеся в R2. Процесс такой же, как добавление любой таблицы в общий доступ.

См. раздел Создание и управление общими ресурсами для Delta Sharing.