このトピックでは、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 パッケージとデータファイルの両方のストレージパスなど) が取得されていること。
手順
- [データプラットフォーム] タブに移動します。
- Alibaba Cloud アカウントを使用して、Alibaba Cloud EMR コンソール にログインします。
- 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。
- [データプラットフォーム] タブをクリックします。
- [プロジェクト] セクションで、プロジェクトを見つけて、[アクション] 列の [ジョブの編集] をクリックします。
Streaming SQL ジョブを作成します。
- 左側の [ジョブの編集] ペインで、操作を実行するフォルダーを右クリックし、[ジョブの作成] を選択します。
[ジョブの作成] ダイアログボックスで、[名前] と [説明] を指定し、ストリーミング SQL[ジョブの種類] ドロップダウンリストから を選択します。
- [OK] をクリックします。
ジョブの内容を編集します。
[コンテンツ] フィールドに、ジョブの送信に必要なコマンドラインパラメーターを指定します。例:
--- 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に保存されます。依存ライブラリとエラー時のアクションを構成します。
右上隅にある [ジョブ設定] をクリックします。
[共有ライブラリ] タブと [ストリーミングタスク設定] タブで、依存ライブラリとエラー時のアクションを構成します。
セクション
構成アイテム
説明
依存ライブラリ
ライブラリ
ジョブの実行は、データソースに関連する一部のライブラリファイルに依存します。EMR は、ライブラリをスケジューリングセンターのリポジトリに依存ライブラリとして公開します。 ジョブを作成するときは、依存ライブラリを指定する必要があります。
依存ライブラリを指定するには、sharedlibs:streamingsql:datasources-bundle:2.0.0 などの参照文字列を入力します。
エラー時のアクション
現在のステートメントのエラー時のアクション
EMR がステートメントの実行に失敗した場合に実行するアクション。次のいずれかのアクションを実行できます。
次のステートメントを実行: 次のステートメントを実行します。
ジョブを終了: ジョブを終了します。
[保存] をクリックします。