すべてのプロダクト
Search
ドキュメントセンター

Realtime Compute for Apache Flink:時間順ソート

最終更新日:Jan 08, 2025

このトピックでは、デプロイメントの SQL ステートメントで時間順ソートを変更した後、デプロイメントと状態データの互換性にどのように影響するかについて説明します。

互換性に影響しない、または部分的に影響する変更

  • ORDER BY を使用して proctime に基づいて昇順でデータをソートする場合、SELECT ステートメントのフィールドを変更できます。 この変更後も、デプロイメントは状態データと完全に互換性があります。

    -- オリジナルの SQL ステートメント:
    select a, b, c from MyTable order by proctime asc;
    
    -- 入力フィールド d を SELECT ステートメントに追加します。 この変更後も、デプロイメントは状態データと完全に互換性があります。
    select a, b, c, d from MyTable order by proctime asc;
  • ORDER BY を使用してキーに基づいて昇順でデータをソートする場合、SELECT ステートメントのフィールドを変更できます。 この変更後も、デプロイメントは状態データと完全に互換性があります。

    // オリジナルの SQL ステートメント:
    select a, b, ts from MyTable order by ts asc;
    // 入力フィールド ts を SELECT ステートメントから削除します。 この変更後も、デプロイメントは状態データと完全に互換性があります。
    select a, b from MyTable order by ts asc;

完全な非互換性を引き起こす変更

  • ORDER BY を使用して rowtime に基づいてデータをソートする場合、SELECT ステートメントのフィールドを変更することはできません。 この変更後、ジョブは状態データと互換性がなくなります。

    -- オリジナルの SQL ステートメント:
    select a, b, c from MyTable order by ts asc;
    
    -- 入力フィールド d を SELECT ステートメントに追加します。 この変更後、ジョブは状態データと互換性がなくなります。
    select a, b, c, d from MyTable order by ts asc;
  • ソートフィールドや方向など、ORDER BY に関連する属性を変更すると、デプロイメントは状態データと互換性がなくなります。

    -- オリジナルの SQL ステートメント:
    select a, b, c from MyTable order by ts asc;
    
    -- フィールド a を ORDER BY に追加します。 この変更後、デプロイメントは状態データと互換性がなくなります。
    select a, b, c from MyTable order by ts asc, a desc;