次の方法で共有


STREAMING_QUERY_EVOLUTION_ERRORエラー状態

SQLSTATE: 42000

ストリーミング クエリの進化エラー:

DUPLICATE_SOURCE_NAMES

ストリーミング ソース名の重複が検出されました: <duplicateNames>。 各ストリーミング ソースには一意の名前が必要です。 name() メソッドを使用して、すべてのソースに個別の名前があることを確認してください。

無効なシンク名

ストリーミング シンク名 '<sinkName>' が無効です。 シンク名には、 ASCII 文字 ('a-'z'、'A'-'Z')、数字 ('0'-'9')、およびアンダースコア('_')のみを含める必要があります。

無効なソース名

ストリーミング ソース名 '<sourceName>' が無効です。 ソース名には、 ASCII 文字 ('a-'z'、'A'-'Z')、数字 ('0'-'9')、およびアンダースコア('_')のみを含める必要があります。 必要に応じて、特殊文字を含む名前をバッククォートで囲みます。

特定の情報源には施行が必要です

spark.sql.streaming.queryEvolution.enableSourceEvolution が無効になっている場合、name() メソッドを使用してストリーミング ソースに名前を付けることはできません。 spark.sql.streaming.queryEvolution.enableSourceEvolution を true に設定してソースの進化を有効にするか、name() 呼び出しを削除してください。

NAMED_SOURCES_REQUIRE_OFFSET_LOG_V2

名前付きストリーミング ソースの適用には、オフセット ログ形式 V2 (OffsetMap) が必要ですが、V<version> が見つかりました。V2 形式では、ソースの進化をサポートする sourceId:offset ペアが使用されます。 spark.sql.streaming.offsetLog.version を 2 に設定するか、spark.sql.streaming.queryEvolution.enableSourceEvolution を false に設定して名前付きソースの適用を無効にします

SINK_ID再利用

チェックポイントの場所<sinkId>でシンク名 '<checkpointLocation>' を再利用できません。 このシンク名は、以前に使用され、別のシンクに置き換えられました。 非アクティブなシンク名を再利用すると、データの正確性の問題が発生する可能性があります。 新しいシンクを使用するには、DataStreamWriter の name() メソッド (.name("my_new_sink"など) を使用して別の名前を割り当てます。

SINK_PROVIDER_MISMATCH (プロバイダ不一致)

チェックポイントの場所<sinkId>でシンク '<checkpointLocation>' のシンク プロバイダーを変更できません。 シンクは以前はプロバイダー '<previousProvider>' を使用していましたが、現在は '<currentProvider>' を使用しています。 同じシンク名を保持したままシンクの種類を変更すると、データの正確性の問題が発生する可能性があります。 新しいシンクの種類を使用するには、DataStreamWriter の name() メソッド (例: .name("my_new_sink")) を使用して別の名前を割り当てます。

TOMBSTONE_SOURCE_NAME_REUSE

廃棄されたソース名 ( <sourceNames>) を再利用できません。 これらのソース名は、以前に使用され、チェックポイントの場所 <checkpointLocation>ストリーミング クエリから削除されました。 墓標されたソース名を再利用すると、データの正確性の問題が発生する可能性があります。 別のソース名を使用してください。

無名ストリーミングシンク(制約付き)

spark.sql.streaming.queryEvolution.enableSinkEvolution が有効になっている場合は、ストリーミング シンクに名前を付ける必要があります。 DataStreamWriter の name() メソッドを使用して、ストリーミング シンクに名前を割り当てます。

名前のないストリーミングソース(適用付き)

spark.sql.streaming.queryEvolution.enableSourceEvolution が有効になっている場合は、すべてのストリーミング ソースに名前を付ける必要があります。 名前のないソースが見つかりました: <sourceInfo>。 name() メソッドを使用して、すべてのストリーミング ソースに名前を割り当てます。