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

E-MapReduce:Streaming SQL ジョブの構成

最終更新日:Jan 11, 2025

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

背景情報

Streaming SQL ジョブを構成する場合は、依存ライブラリを指定する必要があります。次の表に、Spark Streaming SQL によって提供される依存ライブラリの最新バージョンとその他の詳細を示します。 最新バージョンの依存ライブラリを使用することをお勧めします。

依存ライブラリ

サポートされているバージョン

リリース日

参照文字列

説明

datasources-bundle

2.0.0 (推奨)

2020/02/26

sharedlibs:streamingsql:datasources-bundle:2.0.0

サポートされているデータソースには、Kafka、LogHub、Druid、Tablestore、HBase、JDBC、DataHub、Redis、Kudu、DTS が含まれます。

1.9.0

2019/11/20

sharedlibs:streamingsql:datasources-bundle:1.9.0

サポートされているデータソースには、Kafka、LogHub、Druid、Tablestore、HBase、JDBC、DataHub、Redis、Kudu が含まれます。

1.8.0

2019/10/17

sharedlibs:streamingsql:datasources-bundle:1.8.0

サポートされているデータソースには、Kafka、LogHub、Druid、Tablestore、HBase、JDBC、DataHub、Redis が含まれます。

1.7.0

2019/07/29

sharedlibs:streamingsql:datasources-bundle:1.7.0

サポートされているデータソースには、Kafka、LogHub、Druid、Tablestore、HBase、JDBC が含まれます。

前提条件

  • プロジェクトが作成されていること。詳細については、「プロジェクトの管理」をご参照ください。

  • ジョブに必要なリソースとデータファイル (JAR パッケージ、データファイルの名前、JAR パッケージとデータファイルの両方のストレージパスなど) が取得されていること。

手順

  1. [データプラットフォーム] タブに移動します。
    1. Alibaba Cloud アカウントを使用して、Alibaba Cloud EMR コンソール にログインします。
    2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します
    3. [データプラットフォーム] タブをクリックします。
  2. [プロジェクト] セクションで、プロジェクトを見つけて、[アクション] 列の [ジョブの編集] をクリックします。
  3. Streaming SQL ジョブを作成します。

    1. 左側の [ジョブの編集] ペインで、操作を実行するフォルダーを右クリックし、[ジョブの作成] を選択します。
    2. [ジョブの作成] ダイアログボックスで、[名前][説明] を指定し、ストリーミング SQL[ジョブの種類] ドロップダウンリストから を選択します。

    3. [OK] をクリックします。
  4. ジョブの内容を編集します。

    [コンテンツ] フィールドに、ジョブの送信に必要なコマンドラインパラメーターを指定します。例:

    --- Log Service テーブルを作成します。
    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}'
      ); 
    --- HDFS にデータをインポートします。
    INSERT INTO 
       ${hdfsTableName} 
    SELECT 
       col1, col2 
    FROM  ${slsTableName} 
    WHERE ${condition}
    説明

    Streaming SQL ジョブを送信するために使用されるコマンドは streaming-sql -f {sql_script} です。ジョブエディターに入力した SQL ステートメントは sql_script に保存されます。

  5. 依存ライブラリとエラー時のアクションを構成します。

    1. 右上隅にある [ジョブ設定] をクリックします。

    2. [共有ライブラリ] タブと [ストリーミングタスク設定] タブで、依存ライブラリとエラー時のアクションを構成します。

      セクション

      構成アイテム

      説明

      依存ライブラリ

      ライブラリ

      ジョブの実行は、データソースに関連する一部のライブラリファイルに依存します。EMR は、ライブラリをスケジューリングセンターのリポジトリに依存ライブラリとして公開します。 ジョブを作成するときは、依存ライブラリを指定する必要があります。

      依存ライブラリを指定するには、sharedlibs:streamingsql:datasources-bundle:2.0.0 などの参照文字列を入力します。

      エラー時のアクション

      現在のステートメントのエラー時のアクション

      EMR がステートメントの実行に失敗した場合に実行するアクション。次のいずれかのアクションを実行できます。

      • 次のステートメントを実行: 次のステートメントを実行します。

      • ジョブを終了: ジョブを終了します。

    3. [保存] をクリックします。