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


Условие возникновения ошибки STREAMING_QUERY_EVOLUTION_ERROR

SQLSTATE: 42000

Ошибка эволюции потокового запроса:

Дублирующиеся_Названия_Источника

Обнаружены повторяющиеся имена источников потоковой передачи: <duplicateNames> Каждый источник потоковой передачи должен иметь уникальное имя. Убедитесь, что все источники имеют отдельные имена с помощью метода name().

НЕВЕРНОЕ_ИМЯ_ПРИЕМНИКА (INVALID_SINK_NAME)

Недопустимое имя приемника потоковой передачи: '<sinkName>'. Имена приемников должны содержать ASCII только буквы ("a-'z", "A'-'Z"), цифры ('0'-'9') и символы подчеркивания ('_').

НЕВЕРНОЕ_ИМЯ_ИСТОЧНИКА

Недопустимое имя источника потоковой передачи: '<sourceName>'. Исходные имена должны содержать ASCII только буквы ('a''z', 'A'Z'), цифры ('0'9') и символы подчеркивания ('_'). При необходимости используйте обратные апострофы для кавычек со специальными символами.

НАЗВАННЫЕ_ИСТОЧНИКИ_ТРЕБУЮТ_ПРИМЕНЕНИЯ

Не удается использовать метод name() для имен источников потоковой передачи при отключении spark.sql.streaming.queryEvolution.enableSourceEvolution. Включите эволюцию источника, установив для параметра spark.sql.streaming.queryEvolution.enableSourceEvolution значение true или удалите вызов name().

NAMED_SOURCES_REQUIRE_OFFSET_LOG_V2

Применение именованных источников стриминга требует формат журнала смещений версии 2 (OffsetMap), но обнаружен V<version>. В формате V2 используются пары идентификатор источника:смещение, поддерживающие эволюцию источника. Задайте для параметра spark.sql.streaming.offsetLog.version 2 или отключите принудительное применение именованных источников, установив для параметра spark.sql.streaming.queryEvolution.enableSourceEvolution значение false

SINK_ID_REUSED

Невозможно повторно использовать имя приемника '<sinkId>' в расположении контрольной точки <checkpointLocation>. Это имя приемника ранее использовалось, а затем заменено другим приемником. Повторное использование неактивных имен сников может привести к проблемам с корректностью данных. Чтобы использовать новый приемник, назначьте ему другое имя с помощью метода name() в DataStreamWriter (например, .name("my_new_sink")).

SINK_PROVIDER_MISMATCH

Не удается изменить поставщик приемника для приемника "<sinkId>" в расположении <checkpointLocation>контрольной точки. Источник ранее использовал поставщика "<previousProvider>", но теперь использует "<currentProvider>". Изменение типа приемника при сохранении того же имени приемника может привести к проблемам с правильностью данных. Чтобы использовать новый тип приемника, назначьте ему другое имя с помощью метода name() в DataStreamWriter (например, .name("my_new_sink")).

TOMBSTONE_SOURCE_NAME_REUSE

Невозможно повторно использовать имена источников, которые были помечены как удаленные: <sourceNames>. Эти исходные имена использовались ранее, а затем удалены из потокового запроса в местоположении контрольной точки <checkpointLocation>. Повторное использование имен источников, помеченных как устаревшие, может привести к проблемам с правильностью данных. Используйте разные названия источников.

БЕЗЫМЯННЫЕ_ПОТОКОВЫЕ_ПРИЕМНИКИ_С_ПРИМЕНЕНИЕМ

Приемник потоковых данных должен быть указан при включении spark.sql.streaming.queryEvolution.enableSinkEvolution. Используйте метод name() в DataStreamWriter, чтобы назначить имя приемнику потоковой передачи.

НЕНАЗВАННЫЕ ИСТОЧНИКИ ПОТОКОВ С ПРИНУЖДЕНИЕМ

Все источники потоковой передачи должны быть названы при включении spark.sql.streaming.queryEvolution.enableSourceEvolution. Найденные неименованные источники: <sourceInfo> Используйте метод name() для назначения имен всем источникам потоковой передачи.