このトピックでは、Streaming SQL ジョブを設定する方法について説明します。

始める前に

  • プロジェクトを作成していること。 詳細は、「ワークフロープロジェクトの管理」をご参照ください。
  • Spark Streaming SQL 依存ライブラリをダウンロードしていること。 詳細は、「このタスクについて」をご参照ください。

このタスクについて

Streaming SQL の詳細は、「Spark Streaming SQL」をご参照ください。

Streaming SQL ジョブを設定するとき、依存ライブラリを指定する必要があります。 次の表に、複数のデータソースをサポートするために Spark Streaming SQL で提供される依存ライブラリのバージョンと他の詳細情報を示します。 原則として、依存ライブラリの最新バージョンを使用する必要があります。

名前 バージョン リリース日 参照文字列 詳細
datasources-bundle 1.7.0 2019 年 7 月 29 日 sharedlibs:streamingsql:datasources-bundle:1.7.0 サポートされるデータソース:Kafka、Log Service、Druid、Table Store、HBase、JDBC。
  • 参照文字列をコピーし、 E-MapReduce コンソールの [データプラットフォーム] の [ジョブ設定] > [ストリーミングタスク設定] > [依存ライブラリ] で使用します。
  • 前の表のすべてのデータソースは、ストリームの読み取りと書き込みをサポートしています。
  • 詳細は、「データソース」をご参照ください。

ステップ 1:Streaming SQL ジョブの作成

  1. Alibaba Cloud アカウントを使用して、E-MapReduce コンソールにログインします。
  2. [データプラットフォーム] タブをクリックします。 [プロジェクト] リストが表示されます。
  3. ターゲットジョブの横にある [ワークフローの設計] をクリックします。 左側のナビゲーションペインで、[ジョブの編集] を選択します。
  4. 左側の [ジョブの編集] ペインでフォルダーを右クリックし、[ジョブの作成] を選択します。
    フォルダーを右クリックすると、[サブフォルダーの作成]、[フォルダー名の変更]、[フォルダーの削除] を選択できます。
  5. [ジョブの作成] ダイアログボックスで、[名前][説明] を入力し、[タイプ] ドロップダウンリストから [Streaming SQL] を選択します。
  6. [OK] をクリックして、Streaming SQL ジョブを作成します。
    自動的にジョブが開きます。 ジョブにコードを入力できます。

ステップ 2:ジョブの Streaming SQL 文の設定

E-MapReduce バックグラウンドでは、Streaming SQL ジョブは streaming-sql -f {SQL_SCRIPT} の形式で送信されます。 Streaming SQL 文は、SQL_SCRIPT に保存されます。

ジョブを作成した後、Streaming SQL 文をジョブのテキストボックスに入力します。

Streaming SQL 文の例:

--- Create a Log Service table 
CREATE TABLE IF NOT EXISTS ${slsTableName} 
   USING loghub 
   OPTIONS ( 
        sls.project = '${logProjectName}', 
        sls.store = '${logStoreName}', 
        access.key.id = '${accessKeyId}', 
        access.key.secret = '${accessKeySecret}', 
        endpoint = '${endpoint}'
   ); 
--- Import data to HDFS 
INSERT INTO 
    ${hdfsTableName} 
SELECT 
    col1, col2 
FROM  ${slsTableName} 
WHERE ${condition}

ステップ 3:依存ライブラリと失敗対応ポリシーの指定

依存ライブラリ:Streaming SQL ジョブはデータソースライブラリに依存しています。 E-MapReduce は、これらのライブラリを依存ライブラリとしてスケジューリングセンターのリポジトリに公開します。 ジョブを作成するとき、ジョブの依存ライブラリを指定する必要があります。

失敗対応ポリシー:文の実行に失敗したときに実行される操作を指定します。

  1. ジョブに文を入力した後、右上の [ジョブ設定] をクリックし、[Streaming タスク設定] タブをクリックします。
  2. [Streaming タスク設定] タブで、依存ライブラリと失敗対応ポリシーを指定します。
    セクション パラメーター 説明
    失敗対応ポリシー 失敗時の対応 現在の文の実行に失敗した場合、次のいずれかの操作の実行を選択できます。
    • 次のステートメントを実行する:次の文を実行します。
    • 現在のジョブを終了する:ジョブを終了します。
    依存ライブラリ ライブラリリスト 依存ライブラリの参照文字列を入力します。例: sharedlibs:streamingsql:datasources-bundle:1.7.0
  3. [保存] をクリックして、Streaming SQL ジョブの設定を完了します。