EMR Serverless Spark ワークスペースをサーバーレス Spark コンピューティングリソースとして DataWorks に関連付けることで、DataWorks で EMR Serverless Spark タスクを開発・管理できるようになります。
前提条件
-
EMR Serverless Spark ワークスペース が作成済みであること。
-
DataWorks ワークスペース が作成済みであること。 これらの操作を実行する RAM ユーザーは、ワークスペース管理者ロールを持つワークスペースのメンバーである必要があります。
重要[データ開発 (DataStudio) (新版) パブリックプレビューへの参加] を使用するワークスペースのみがサポートされます。
-
サーバーレスリソースグループ が対象の DataWorks ワークスペースに関連付けられていること。
制限事項
-
リージョンに関する制限事項:中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深圳)、中国 (成都)、中国 (香港)、日本 (東京)、シンガポール、インドネシア (ジャカルタ)、ドイツ (フランクフルト)、米国 (シリコンバレー)、および米国 (バージニア)。
-
権限に関する制限事項:
オペレーター
必要な権限
Alibaba Cloud アカウント
追加の権限は不要です。
RAM ユーザー/RAM ロール
-
DataWorks の管理権限:コンピューティングリソースを作成できるのは、[O&M] および [ワークスペース管理者] ロール、または
AliyunDataWorksFullAccessポリシーを持つワークスペースメンバーのみです。 詳細については、「ユーザーにワークスペース管理者の権限を付与」をご参照ください。 -
EMR Serverless Spark サービスの権限:
-
AliyunEMRServerlessSparkFullAccessポリシー。 -
EMR Serverless Spark ワークスペースの
Owner権限。 詳細については、「ユーザーとロールの管理」をご参照ください。
-
-
コンピューティングリソースリストページへの移動
-
DataWorks コンソールにログインします。左側メニューで、対象のリージョンに切り替え、 をクリックします。ドロップダウンリストからワークスペースを選択し、管理センターへ をクリックします。
-
左側メニューで、計算リソース をクリックしてコンピューティングリソースリストページを開きます。
サーバーレス Spark コンピューティングリソースの関連付け
コンピューティングリソース一覧ページ で、サーバーレス Spark コンピューティングリソースを設定し、関連付けます。
-
関連付けるコンピューティングリソースのタイプを選択します。
-
計算リソースのアタッチ をクリックして、計算リソースのアタッチ ページに移動します。
-
計算リソースのアタッチ ページで、コンピューティングリソースタイプとして Serverless Spark を選択し、Serverless Spark 計算リソースのアタッチ 設定ページを開きます。
-
-
サーバーレス Spark コンピューティングリソースを設定します。
Serverless Spark 計算リソースのアタッチ 設定ページで、次のパラメーターを設定します。
パラメーター
説明
[Spark ワークスペース]
関連付ける Spark ワークスペースを選択します。 ドロップダウンリストの 新規作成 をクリックして Spark ワークスペースを作成 することもできます。
[デフォルトデータベースエンジンバージョン]
使用するエンジンバージョンを選択します。
-
Data Studio で EMR Spark タスクを作成すると、デフォルトでこのエンジンバージョンが使用されます。
-
タスクごとに異なるエンジンバージョンを設定するには、Spark タスク編集ウィンドウの詳細設定でバージョンを指定します。
[デフォルトリソースキュー]
使用するリソースキューを選択します。 ドロップダウンリストの 新規作成 をクリックして キューを追加 することもできます。
-
Data Studio で EMR Spark タスクを作成すると、デフォルトでこのリソースキューが使用されます。
-
タスクごとに異なるリソースキューを設定するには、Spark タスク編集ウィンドウの詳細設定でキューを指定します。
[デフォルト Kyuubi Gateway]
任意。 Kyuubi ゲートウェイの設定は、次のタスクの実行方法を決定します。
-
Kyuubi ゲートウェイが設定されている場合:
-
すべての関連タスク (EMR Spark SQL/Kyuubi およびサーバーレス Spark SQL/Kyuubi) は、Kyuubi ゲートウェイ経由で実行されます。
-
-
Kyuubi ゲートウェイが設定されていない場合:
-
EMR Spark SQL および Serverless Spark SQL タスクは、
spark-submitを使用して実行されます。 -
EMR Kyuubi およびサーバーレス Kyuubi タスクは実行できません。
-
ゲートウェイを設定するには、 で Kyuubi ゲートウェイとトークンを作成します。
-
Kerberos が有効でない場合:Kyuubi ゲートウェイの名前をクリックして JDBC URL とトークンを取得し、それらを組み合わせて完全な接続文字列を作成します。
-
Kerberos が有効な場合:Kerberos の設定に基づいて Beeline 接続文字列を取得します。 詳細については、「Kyuubi ゲートウェイで Kerberos を使用する」をご参照ください。
# 標準的な接続文字列の例 jdbc:hive2://kyuubi-cn-hangzhou-internal.spark.emr.aliyuncs.com:80/;transportMode=http;httpPath=cliservice/token/<token> # Kerberos が有効なクラスターの接続文字列例。Kyuubiサービスのプリンシパルを含めてください。 jdbc:hive2://ep-xxxxxxxxxxx.epsrv-xxxxxxxxxxx.cn-hangzhou.privatelink.aliyuncs.com:10009/;principal=kyuubi/_HOST@EMR.C-DFD43*****7C204.COM
[デフォルトアクセス主体]
DataWorks からこの Spark ワークスペースにアクセスするために使用される ID。
-
開発環境:Executor ID のみがサポートされます。
-
本番環境:Alibaba Cloud アカウント、Alibaba Cloud RAM Sub-account、および タスクの所有者 ID がサポートされます。
[計算リソースインスタンス名]
コンピューティングリソースの識別子。 実行時に、タスクはこの名前を使用してリソースを選択します。
-
-
OK をクリックして、サーバーレス Spark コンピューティングリソースの設定を完了します。
グローバル Spark パラメーターの設定
モジュールごとにワークスペースレベルで Spark パラメーターを設定し、グローバルパラメーターがモジュール固有の設定よりも優先されるかどうかを制御できます。 設定後、タスクはデフォルトで指定された Spark パラメーターを使用します。
|
スコープ |
設定方法 |
|
グローバル設定 |
ワークスペースレベルで、EMR タスクを実行するモジュールのグローバル Spark パラメーターを設定し、モジュール固有のパラメーターよりも優先度を高く設定できます。 詳細については、「グローバル SPARK パラメーターの設定」をご参照ください。 |
|
単一ノード |
Data Studio では、ノード編集ページで個々のノードタスクに特定の Spark プロパティを設定できます。 他の製品モジュールは、モジュール内での Spark プロパティの設定をサポートしていません。 |
権限管理
グローバル Spark パラメーターを設定できるのは、次のロールを持つユーザーのみです。
-
Alibaba Cloud アカウント
-
AliyunDataWorksFullAccessポリシーが付与された RAM ユーザーまたは RAM ロール -
ワークスペース管理者ロールを持つ RAM ユーザー
グローバル Spark パラメーターの設定
次の手順でグローバル Spark パラメーターを設定します。 サーバーレス Spark コンピューティングリソースの Spark パラメーターの詳細については、「ジョブ設定の概要」をご参照ください。
-
コンピューティングリソース一覧ページ に移動し、関連付けたサーバーレス Spark コンピューティングリソースを見つけます。
-
Spark パラメーター をクリックして設定ペインを開き、グローバル Spark パラメーターの設定を表示します。
-
グローバル Spark パラメーターを設定します。
Spark パラメーター ページの右上隅にある Spark のパラメーターの編集 をクリックして、各モジュールのグローバル Spark パラメーターと優先度を設定します。
説明これはワークスペースレベルの設定です。 続行する前に、正しいワークスペースを選択していることを確認してください。
パラメーター
手順
[Spark プロパティ]
サーバーレス Spark タスクを実行するための Spark プロパティを設定します。
-
追加 をクリックし、Spark プロパティ名 と対応する Spark プロパティ値 を入力して、Spark プロパティ情報を設定します。
-
サポートされている Spark プロパティパラメーターの詳細については、「Spark 設定」および「カスタム Spark Conf パラメーター一覧」をご参照ください。
[グローバル設定を優先]
このオプションを選択すると、グローバル設定が製品モジュールの設定を上書きします。 この場合、タスクはグローバル Spark プロパティに基づいて実行されます。
-
グローバル設定: にあるサーバーレス Spark コンピューティングリソースの Spark パラメーター ページで設定された Spark プロパティを指します。
現在、グローバル Spark パラメーターは Data Studio、オペレーションセンター、およびデータ分析に対してのみ設定できます。
-
製品モジュールの設定:
-
Data Studio:EMR Spark、EMR Kyuubi、EMR Spark SQL、EMR Spark Streaming、サーバーレス Spark バッチ、サーバーレス Spark SQL、およびサーバーレス Kyuubi ノードの場合、ノード編集ページの デバッグの構成 または スケジューリング設定 タブの Spark パラメーター セクションで、個々のノードタスクの Spark プロパティを設定 できます。
-
その他の製品モジュール:モジュール内で Spark プロパティを設定することはできません。
-
-
-
OK をクリックして、設定したグローバル Spark パラメーターを保存します。
クラスターアカウントマッピングの設定
DataWorks メンバーの Alibaba Cloud アカウントと EMR クラスターの ID アカウント間のマッピングを設定します。 これにより、メンバーはマッピングされたクラスター ID を使用して EMR Serverless Spark タスクを実行できます。
この機能は、サーバーレスリソースグループでのみ利用可能です。2025 年 8 月 15 日より前にサーバーレスリソースグループを購入し、この機能の使用をご希望の場合は、リソースグループをアップグレードするためにチケットを起票する必要があります。
-
コンピューティングリソース一覧ページ に移動し、関連付けたサーバーレス Spark コンピューティングリソースを見つけます。
-
アカウントマッピング をクリックして、[アカウントマッピング] 設定ペインに移動します。
-
[アカウントマッピングの編集] をクリックして、クラスターアカウントマッピング情報を設定します。 選択した マッピングタイプ に基づいて関連パラメーターを設定できます。
アカウント [マッピングタイプ]
タスク実行
設定
システムアカウントマッピング
コンピューティングリソースの基本情報で指定された [デフォルトアクセス主体] と同じ名前のクラスターアカウントを使用して、EMR Spark、EMR Spark SQL、EMR Kyuubi、および個人開発環境で開発されたノートブックタスクを実行します。
デフォルトでは、同名マッピングが使用されます。 異なるアカウントマッピングを使用するには、手動でアカウントを設定します。
OpenLDAP アカウントマッピング
コンピューティングリソースの基本情報で指定された [デフォルトアクセス主体] は、EMR Spark および EMR Spark SQL タスクの実行に使用されます。
コンピューティングリソースの基本情報でデフォルトのアクセス ID にマッピングされた OpenLDAP アカウントは、EMR Kyuubi および個人開発環境で開発されたノートブックタスクの実行に使用されます。
Kyuubi ゲートウェイの LDAP 認証を設定し、有効にしている場合は、関連タスクを実行するために Alibaba Cloud アカウント と OpenLDAP アカウント (LDAP アカウント および LDAP パスワード) の間のマッピングを設定する必要があります。
重要必要な Alibaba Cloud アカウントがマッピングリストにない場合、タスクは失敗する可能性があります。
Kerberos アカウントマッピング
コンピューティングリソースの基本情報で指定された [デフォルトアクセス主体] は、EMR Spark および EMR Spark SQL タスクの実行に使用されます。
コンピューティングリソースの基本情報でデフォルトのアクセス ID にマッピングされた Kerberos アカウントは、EMR Kyuubi ノードタスクの実行に使用されます。
-
EMR Serverless Spark クラスター用に設定された Kerberos サービスの krb5.conf ファイルをアップロードする必要があります。
-
デフォルトのアクセス ID として指定された Alibaba Cloud アカウントに対して、Kerberos 認証に必要なプリンシパルとキータブを設定します。
-
-
[確認] をクリックして、クラスターアカウントマッピングの設定を完了します。
次のステップ
サーバーレス Spark コンピューティングリソースの設定後、このリソースを使用して Data Studio でノードタスクを開発できます。 詳細については、「EMR Spark ノード」、「EMR Spark SQL ノード」、「EMR Spark Streaming ノード」、「EMR Kyuubi ノード」、「サーバーレス Spark バッチノード」、「サーバーレス Spark SQL ノード」、および「サーバーレス Kyuubi ノード」をご参照ください。