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

DataWorks:Flink SQL ストリーミングノード

最終更新日:Jun 17, 2026

DataWorks の Flink SQL ストリーミングノードを使用すると、標準 SQL でリアルタイム処理ロジックを定義できます。このノードは使いやすく、豊富な SQL をサポートし、堅牢な状態管理とフォールトトレランスを提供します。イベント時間と処理時間の両方に対応し、柔軟にスケーリングできます。このノードは Kafka や HDFS などのシステムと簡単に統合でき、詳細なログとパフォーマンス監視ツールを提供します。まず、DataWorks プロジェクトに Flink SQL ストリーミングタスクを追加し、SQL 文を記述します。このトピックでは、DataWorks で Flink SQL ストリーミングノードを開発および使用して、リアルタイムデータを処理する方法について説明します。

前提条件

  • 管理センターで Realtime Compute for Apache Flink のコンピューティングリソースが関連付けられている必要があります。詳細については、「コンピュートエンジンのバインド」をご参照ください。

  • Flink SQL ストリーミングノードが作成されている必要があります。詳細については、「スケジューリングワークフロー用のノードの作成」をご参照ください。

ステップ 1:Flink SQL ストリーミングノードの開発

Flink SQL ストリーミングノードの編集ページで、以下の説明に従ってノードタスクを開発します。

SQL コードの開発

SQL エディタでは、${variable_name} 形式で変数を定義し、Real-Time configuration パネルの Script Parameters セクションでこれらの変数に値を割り当てることで、スケジューリングシナリオでパラメーターを動的に渡すことができます。 例:

-- ソーステーブル datagen_source を作成します。
CREATE TEMPORARY TABLE datagen_source(
  name VARCHAR
) WITH (
  'connector' = 'datagen'
);

-- 結果テーブル blackhole_sink を作成します。
CREATE TEMPORARY TABLE blackhole_sink(
  name  VARCHAR
) WITH (
  'connector' = 'blackhole'
);

-- ソーステーブルから結果テーブルにデータを挿入します。
INSERT INTO blackhole_sink
SELECT
  name
FROM datagen_source WHERE LENGTH(name) > ${name_length};
説明

この例では、パラメーター name_length の値は 5 です。このパラメーターは、名前の長さが 5 文字を超えるレコードのみを処理するようにデータをフィルタリングします。

ステップ 2:Flink SQL ストリーミングノードの設定

Flink SQL ストリーミングノードタスクを次のパラメーターで設定します。

Flink リソースの設定

Real-Time configuration パネルの Flink resource information セクションで、選択した Resource Mode に基づいて以下のパラメーターを設定します。 詳細については、「デプロイメントリソースを設定する」をご参照ください。

パラメーター

説明

[Flink cluster]

管理センターで関連付けられたフルマネージド Flink コンピューティングリソースの名前。

[Flink engine version]

要件に基づいて Flink エンジンバージョンを選択します。

[Resource Group]

Flink ネットワークに接続できるサーバーレスリソースグループを選択します。

Resource Mode は、次の 2 つのモードをサポートしています。詳細については、「デプロイメントリソースの設定」をご参照ください。

  • [Basic mode] (デフォルト): 初心者やシンプルなユースケースに最適です。このモードでは、デフォルト設定と簡易設定を使用して、Flink デプロイを迅速に開始および実行します。

  • [Expert mode]:経験豊富なユーザーに高度な設定オプションを提供し、パフォーマンスとリソースをきめ細かくチューニングすることで、複雑な要件や高いパフォーマンス要件を満たすことができます。

選択したモードに基づいてパラメーターを設定します。Flink アーキテクチャをより深く理解することで、これらのパラメーターをより効果的に設定できます。詳細については、「Flink Architecture | Apache Flink」をご参照ください。

[Basic mode]

JobManager CPU

Flink のベストプラクティスに基づくと、JobManager が安定して動作するには、最低 0.5 CPU コアと 2 GiB のメモリが必要です。1 CPU コアと 4 GiB のメモリを推奨します。最大 16 CPU コアまで設定できます。クラスターサイズとデプロイの複雑さに基づいて設定を調整してください。

JobManager メモリ

JobManager のメモリは、タスクのスケジューリングと管理機能に影響します。安定した効率的な動作を確保するため、2 GiB から 64 GiB の範囲を推奨します。クラスターサイズとデプロイ要件に基づいてサイズを調整してください。

TaskManager CPU

TaskManager の CPU リソースは、タスク処理能力に影響します。Flink のベストプラクティスに基づくと、最低 0.5 CPU コアと 2 GiB のメモリを推奨します。標準設定は 1 CPU コアと 4 GiB のメモリです。最大 16 CPU コアまで設定できます。実際のニーズに基づいて設定を調整してください。

TaskManager メモリ

TaskManager のメモリは、処理できるデータ量とパフォーマンスを決定します。安定した実行と効率的な処理を確保するため、メモリサイズは最低 2 GiB で、最大 64 GiB まで設定できます。

[Concurrency]

Flink デプロイ内の並列タスクの数。並列度を高くすると、処理速度とリソース使用率を向上させることができます。クラスターリソースとデプロイの特性に基づいて適切な値を設定してください。

[Number of slots per TaskManager]

TaskManager あたりのスロット数は、同時に実行できるタスクの数を決定します。この設定を調整することで、リソース使用率とデプロイの並列処理能力を最適化できます。

[Expert mode]

JobManager CPU

Flink のベストプラクティスに基づくと、JobManager が安定して動作するには、最低 0.5 CPU コアと 2 GiB のメモリが必要です。最大 16 CPU コアまで設定できます。クラスターサイズとデプロイの複雑さに基づいて設定を調整してください。

JobManager メモリ

JobManager のメモリは、タスクのスケジューリングと管理機能に影響します。安定した効率的な動作を確保するため、2 GiB から 64 GiB の範囲を推奨します。クラスターサイズとデプロイ要件に基づいてサイズを調整してください。

[Number of slots per TaskManager]

TaskManager あたりのスロット数は、同時に実行できるタスクの数を決定します。この設定を調整することで、リソース使用率とデプロイの並列処理能力を最適化できます。

[Multiple SSG mode]

デフォルトでは、すべてのオペレーターは単一のスロット共有グループ (SSG) に属しているため、個別のリソース設定ができません。特定のオペレーターのリソースを設定するには、Multiple SSG mode を有効にする必要があります。これにより、各オペレーターに独自の独立したスロットが割り当てられ、そのリソースを直接設定できるようになります。

(オプション) スクリプトパラメーターの設定

Real-Time configuration パネルの Script Parameters セクションで、Add parameters をクリックし、Parameter nameParameter Value を入力します。これにより、コードでパラメーターを動的に使用できます。

(オプション) Flink 実行パラメーターの設定

Real-Time configuration パネルの Flink running parameters セクションで、以下のパラメーターを設定します。詳細については、「デプロイ情報を設定する」をご参照ください。

パラメーター

説明

[System Checkpoint Interval]

Flink デプロイがチェックポイントを作成する間隔。間隔を短くすると障害後の復旧時間が短縮されますが、システムオーバーヘッドが増加します。このパラメーターを空のままにすると、チェックポイント機能が無効になります。

[Minimum time interval between two system checkpoints]

チェックポイント間に経過する必要がある最小時間。この設定により、頻繁なチェックポイントがシステムパフォーマンスに影響を与えるのを防ぎます。特にチェックポイントの並列度が 1 の場合、1 つのチェックポイントの完了から次のチェックポイントの開始までの最小遅延を保証します。

[状態 TTL]

Flink デプロイ内の状態データの Time-to-Live (TTL)。アクセスまたは更新されずに状態を保持できる最大期間を決定します。デフォルト値は 36 時間で、この時間が経過すると状態は期限切れとなり削除されます。これにより、ストレージとリソース使用率を最適化できます。

重要

デフォルト値はクラウドのベストプラクティスに基づいており、状態情報が期限切れにならないことを意味するオープンソースのデフォルト値 0 とは異なります。

[その他の設定]

その他の Flink 実行パラメーターを設定できます。例:taskmanager.network.memory.max:4g

説明

パラメーター設定の詳細については、「デプロイ情報の設定」をご参照ください。

ノードを設定した後、Saveをクリックします。

ステップ 4:Flink SQL ストリーミングノードの開始

  1. Flink SQL ストリーミングノードを公開します。

    タスクを実行する前に、オペレーションセンターに公開する必要があります。画面の指示に従って、Flink SQL ストリーミングノードを公開します。詳細については、「ノードとワークフローの公開」をご参照ください。

    説明

    この操作により、タスクは Ververica Platform (VVP) にも公開されます。DataWorks から公開されたタスクは、VVP コンソールの [デプロイ] ページで確認できます。

  2. Flink SQL ストリーミングノードを開始します。

    ノードを公開した後、[本番環境に公開] の下にある Go to operation and maintenance をクリックします。ノード O&M で、Real-time Task O&M > Real-time computing tasks > Operation に移動します。タスクを見つけ、[アクション] 列の Start をクリックしてタスクを実行し、そのステータスを監視します。