Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте структурированную потоковую передачу с каталогом Unity для управления данными для добавочных и потоковых рабочих нагрузок в Azure Databricks. В этом документе описаны поддерживаемые функциональные возможности и рекомендации по использованию каталога Unity и структурированной потоковой передачи вместе.
Какие функции структурированной потоковой передачи поддерживают каталог Unity?
Каталог Unity не добавляет явные ограничения для структурированных источников потоковой передачи и приемников, доступных в Azure Databricks. Модель управления данными каталога Unity позволяет передавать данные из управляемых и внешних таблиц в каталоге Unity. Вы также можете использовать внешние расположения, управляемые каталогом Unity, для взаимодействия с данными с помощью URI хранилища объектов. Вы можете записывать данные во внешние таблицы с помощью имен таблиц или путей к файлам. Необходимо взаимодействовать с управляемыми таблицами в каталоге Unity с помощью имени таблицы.
Используйте внешние расположения, управляемые каталогом Unity, при указании путей для контрольных точек структурированной потоковой передачи. Дополнительные сведения о безопасном подключении хранилища к каталогу Unity см. в статье "Подключение к облачному хранилищу объектов" с помощью каталога Unity.
Какие функции структурированной потоковой передачи не поддерживаются в каталоге Unity?
Режим непрерывной обработки Apache Spark не поддерживается. Смотрите непрерывную обработку в руководстве по программированию на Spark для структурированной потоковой передачи.
Список функций структурированной потоковой передачи, которые не поддерживаются в каталоге Unity в зависимости от режима доступа к вычислительным ресурсам, см. в разделе "Ограничения потоковойпередачи" и требования к потоковой передаче и материализованному представлению для выделенных вычислений.
чтение представления каталога Unity в виде потока
В Databricks Runtime 14.1 и выше можно использовать структурированную потоковую передачу для выполнения потоковых операций чтения из представлений, зарегистрированных в каталоге Unity. Azure Databricks поддерживает только потоковое чтение из представлений, созданных на основе таблиц Delta.
Чтобы прочитать представление со структурированной потоковой передачей, укажите идентификатор представления для метода .table(), как показано в следующем примере:
df = (spark.readStream
.table("demoView")
)
Пользователи должны иметь SELECT привилегии целевого представления.
Поддерживаемые параметры настройки потокового чтения для представлений
При настройке потоковых операций чтения для представлений поддерживаются следующие параметры:
maxFilesPerTriggermaxBytesPerTriggerignoreDeletesskipChangeCommitswithEventTimeOrderstartingTimestampstartingVersion
Средство чтения потоковой передачи применяет эти параметры к файлам и метаданным, определяющим базовые таблицы Delta.
Внимание
Операции чтения для представлений, определенных с помощью UNION ALL, не поддерживают параметры withEventTimeOrder и startingVersion.
Поддерживаемые операции в исходных представлениях
Не все представления поддерживают потоковое чтение. Неподдерживаемые операции в исходных представлениях включают агрегации и сортировку.
В следующем списке приведены описания и примеры определений отображений для поддерживаемых операций.
Проект
Описание. Управление разрешениями на уровне столбцов
Оператор:
SELECT... FROM...Пример заявления:
CREATE VIEW project_view AS SELECT id, value FROM source_table
Фильтр
Описание. Управление разрешениями на уровне строк
Оператор:
WHERE...Пример инструкции :
CREATE VIEW filter_view AS SELECT * FROM source_table WHERE value > 100
Объединение всех
Описание: Результаты из нескольких таблиц
Оператор:
UNION ALLПример заявления:
CREATE VIEW union_view AS SELECT id, value FROM source_table1 UNION ALL SELECT * FROM source_table2
Примечание.
Нельзя изменить определение представления, чтобы добавить или изменить таблицы, на которые ссылается представление, и использовать ту же контрольную точку потоковой передачи.
Ограничения
Действительны следующие ограничения.
Потоковая передача возможна только с представлений, поддерживаемых таблицами Delta. Представления, определенные для других источников данных, не поддерживаются.
Необходимо зарегистрировать представления в каталоге Unity.
Следующее исключение отображается, если вы осуществляете потоковую обработку из представления с неподдерживаемым оператором:
UnsupportedOperationException: [UNEXPECTED_OPERATOR_IN_STREAMING_VIEW] Unexpected operator <operator> in the CREATE VIEW statement as a streaming source. A streaming view query must consist only of SELECT, WHERE, and UNION ALL operations.Если указать неподдерживаемые параметры, отобразится следующее исключение:
AnalysisException: [UNSUPPORTED_STREAMING_OPTIONS_FOR_VIEW.UNSUPPORTED_OPTION] Unsupported for streaming a view. Reason: option <option> is not supported.