DataWorks で EMR Serverless Spark タスクを開発および管理するには、まず EMR Serverless Spark ワークスペースを DataWorks に関連付け、Serverless Spark コンピューティングリソースとして機能させる必要があります。リソースが関連付けられると、DataWorks でのデータ開発にそのリソースを使用できます。
前提条件
EMR Serverless Spark のワークスペースが作成されていること。
DataWorks ワークスペースが作成されていること。操作を実行する RAM ユーザーがワークスペースに追加され、ワークスペース管理者ロールが割り当てられていること。
重要[Data Studio (新バージョン) を使用] に設定されたワークスペースのみがサポートされます。
サーバーレスリソースグループを作成し、ターゲットの DataWorks ワークスペースにアタッチ済みであること。
制限事項
サポート対象リージョン:中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深セン)、中国 (成都)、中国 (香港)、日本 (東京)、シンガポール、インドネシア (ジャカルタ)、ドイツ (フランクフルト)、米国 (シリコンバレー)、および米国 (バージニア)。
権限:
オペレーター
必要な権限
Alibaba Cloud アカウント
追加の権限は必要ありません。
RAM ユーザー/RAM ロール
DataWorks 管理権限:O&M またはワークスペース管理者ロールを持つワークスペースメンバー、あるいは
AliyunDataWorksFullAccess権限を持つメンバーのみがコンピューティングリソースを作成できます。詳細については、「ユーザーにワークスペース管理者の権限を付与」をご参照ください。EMR Serverless Spark サービス権限:
AliyunEMRServerlessSparkFullAccessアクセスポリシー。EMR Serverless Spark ワークスペースの
Owner権限。詳細については、「ユーザーとロールの管理」をご参照ください。
コンピューティングリソースリストページへの移動
DataWorks コンソールにログインします。ターゲットリージョンに切り替えます。左側のナビゲーションウィンドウで、を選択します。ドロップダウンリストからワークスペースを選択し、[管理センターへ] をクリックします。
左側のナビゲーションウィンドウで、[コンピューティングリソース] をクリックします。
Serverless Spark コンピューティングリソースの関連付け
コンピューティングリソースページで、Serverless Spark コンピューティングリソースを設定し、アタッチできます。
関連付けるコンピューティングリソースタイプを選択します。
[コンピューティングリソースの関連付け] をクリックして、[コンピューティングリソースの関連付け] ページを開きます。
「[コンピューティングリソースの関連付け]」ページで、コンピューティングリソースタイプを「[Serverless Spark]」に設定します。「[Serverless Spark コンピューティングリソースの関連付け]」設定ページが開きます。
Serverless Spark コンピューティングリソースを設定します。
[Serverless Spark コンピューティングリソースの関連付け] ページで、次の表の説明に従ってパラメーターを設定します。
パラメーター
説明
Spark ワークスペース
アタッチする Spark ワークスペースを選択します。ドロップダウンメニューの [作成] をクリックして Spark ワークスペースを作成することもできます。
デフォルトのエンジンバージョン
使用するデータベースエンジンバージョンを選択します。
Data Studio で EMR Spark タスクを作成すると、このデータベースエンジンバージョンがデフォルトで使用されます。
タスクごとに異なるデータベースエンジンバージョンを設定するには、Spark タスク編集ウィンドウの詳細設定で定義します。
デフォルトのメッセージキュー
使用するリソースキューを選択します。ドロップダウンリストの [作成] をクリックしてキューを追加することもできます。
Data Studio で EMR Spark タスクを作成すると、このリソースキューがデフォルトで使用されます。
タスクごとに異なるリソースキューを設定するには、Spark タスク編集ウィンドウの詳細設定で定義します。
デフォルトの Kyuubi ゲートウェイ
任意。Kyuubi ゲートウェイの設定状態は、次のタスクの実行方法に影響します:
Kyuubi ゲートウェイが設定されている場合:
EMR Spark SQL/Kyuubi や Serverless Spark SQL/Kyuubi などのすべての関連タスクは、Kyuubi ゲートウェイを介して実行されます。
Kyuubi ゲートウェイが設定されていない場合:
EMR Spark SQL および Serverless Spark SQL タスクは
spark-submitを使用して実行されます。EMR Kyuubi および Serverless 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
デフォルトのアクセス ID
現在の DataWorks ワークスペースから Spark ワークスペースにアクセスするために使用される ID を定義します。
開発環境:[Executor] ID のみがサポートされます。
本番環境:[Alibaba Cloud アカウント]、[RAM ユーザー]、および [タスク所有者] の ID がサポートされています。
コンピューティングリソースインスタンス名
この名前はコンピューティングリソースを識別します。実行時に、インスタンス名を使用してタスクのコンピューティングリソースが選択されます。
[OK] をクリックして設定を完了します。
グローバル Spark パラメーターの設定
DataWorks では、ワークスペースレベルで各モジュールの Spark パラメーターを指定できます。また、Data Studio などの特定のモジュール内で、グローバルパラメーターがローカルパラメーターよりも高い優先度を持つかどうかを設定することもできます。設定が完了すると、指定された Spark パラメーターがデフォルトでタスクの実行に使用されます。
パラメーターのスコープ | 設定方法 |
グローバル設定の適用 | EMR ジョブを実行するために、ワークスペースレベルで DataWorks モジュールのグローバル SPARK パラメーターを設定できます。また、これらのグローバル SPARK パラメーターが特定のモジュール内で設定された SPARK パラメーターよりも高い優先度を持つかどうかを定義することもできます。詳細については、「グローバル SPARK パラメーターの設定」をご参照ください。 |
シングルノードで有効 | Data Studio モジュールでは、ノード編集ページでシングルノードタスクに特定の SPARK プロパティを設定できます。他のプロダクトモジュールでは、SPARK プロパティを個別に設定することはサポートされていません。 |
アクセス制御
グローバル Spark パラメーターを設定できるのは、次のロールのみです:
Alibaba Cloud アカウント。
AliyunDataWorksFullAccess権限を持つ RAM ユーザーまたは RAM ロール。ワークスペース管理者ロールを持つ RAM ユーザー。
グローバル SPARK パラメーターの設定
Serverless Spark コンピューティングリソースの Spark パラメーターの設定方法の詳細については、「ジョブ設定の説明」をご参照ください。
コンピューティングリソースページに移動し、アタッチした Serverless Spark コンピューティングリソースを見つけます。
[Spark パラメーター] をクリックして Spark パラメーター設定ペインを開き、グローバル Spark パラメーター設定を表示します。
グローバル Spark パラメーターを設定します。
[Spark パラメーター] ページの右上隅にある [Spark パラメーターの編集] をクリックして、各モジュールのグローバル Spark パラメーターとその優先度を設定します。
説明これらの設定はワークスペースにグローバルに適用されます。パラメーターを設定する前に、正しいワークスペースが選択されていることを確認してください。
パラメーター
ステップ
Spark プロパティ
Serverless Spark タスクを実行する際に使用する Spark プロパティを設定します。
下にある [追加] ボタンをクリックし、[Spark プロパティ名] と対応する [Spark プロパティ値] を入力して Spark プロパティを設定できます。
サポートされている Spark 設定パラメーターの詳細については、「Spark 設定」および「カスタム Spark Conf パラメーターのリスト」をご参照ください。
グローバル設定を優先
このオプションを選択すると、グローバル設定がプロダクトモジュール内の設定よりも優先されます。タスクはグローバル SPARK プロパティに基づいて実行されます。
グローバル設定:これらは、 の対応する Serverless Spark コンピューティングリソースの[Spark パラメーター]ページで設定された Spark プロパティです。
現在、グローバル SPARK パラメーターは Data Studio、オペレーションセンター、およびデータ分析モジュールに対してのみ設定できます。
プロダクトモジュール内の設定:
Data Studio:EMR Spark、EMR Kyuubi、EMR Spark SQL、EMR Spark Streaming ノード、Serverless Spark バッチ、Serverless Spark SQL、および Serverless Kyuubi ノードの場合、ノード編集ページの [Spark パラメーター] の下にある [デバッグ設定] または [スケジューリング] タブで、シングルノードタスクの SPARK プロパティを設定できます。
その他のプロダクトモジュール:これらのモジュール内で SPARK プロパティを設定することはサポートされていません。
[OK] をクリックしてグローバル Spark パラメーターを保存します。
クラスターアカウントマッピングの設定
DataWorks テナントメンバーの Alibaba Cloud アカウントと EMR クラスターの ID アカウント間のマッピングを手動で設定できます。これにより、DataWorks テナントメンバーは、マッピングされたクラスター ID を使用して EMR Serverless Spark でタスクを実行できます。
この機能は、サーバーレスリソースグループでのみ利用可能です。2025年8月15日より前にサーバーレスリソースグループをご購入済みで、この機能をご利用になりたい場合は、リソースグループのスペックアップのためにチケットを送信する必要があります。
コンピューティングリソースページに移動し、アタッチした Serverless Spark コンピューティングリソースを見つけます。
[アカウントマッピング] をクリックして、[アカウントマッピング] 構成ペインを開きます。
[アカウントマッピングの編集] をクリックして、クラスターアカウントマッピングを設定します。選択した [マッピングタイプ] に基づいてパラメーターを設定できます。
アカウントマッピングタイプ
タスク実行の説明
設定の説明
システムアカウントマッピング
コンピューティングリソースの基本情報にある [デフォルトのアクセス ID] と同じ名前のクラスターアカウントを使用して、EMR Spark、EMR Spark SQL、EMR Kyuubi、および個人開発環境で Notebook を開発するノードタスクを実行します。
デフォルトでは、同名マッピングが使用されます。異なるアカウントマッピングを使用するには、手動で異なるアカウントを設定できます。
OPEN LDAP アカウントマッピング
コンピューティングリソースの基本情報にある [デフォルトのアクセス ID] を使用して、EMR Spark および EMR Spark SQL タスクを実行します。
コンピューティングリソースの基本情報にあるデフォルトのアクセス ID にマッピングされた OpenLDAP アカウントを使用して、EMR Kyuubi および個人開発環境で Notebook を開発するノードタスクを実行します。
Kyuubi ゲートウェイの LDAP 認証を設定および有効化している場合は、対応するタスクを実行するために、[Alibaba Cloud アカウント] と OpenLDAP アカウント ([LDAP アカウント]、[LDAP パスワード]) の間のマッピングを設定する必要があります。
重要DataWorks タスクの実行に必要な Alibaba Cloud アカウントがアカウントマッピングリストにない場合、タスクの実行に失敗する可能性があります。
Kerberos アカウントマッピング
コンピューティングリソースの基本情報から [デフォルトのアクセス ID] を使用して、EMR Spark および EMR Spark SQL ジョブを実行します。
コンピューティングリソースの基本情報にあるデフォルトのアクセス ID からマッピングされた Kerberos アカウントを使用して、EMR Kyuubi ノードタスクを実行します。
EMR Serverless Spark クラスターで設定されている Kerberos サービスの krb5.conf ファイルをアップロードします。
デフォルトのアクセス ID として指定された Alibaba Cloud アカウントに対して、Kerberos 認証に必要なプリンシパルと keytab を設定します。
[確認] をクリックして、クラスターアカウントマッピングの設定を完了します。
次のステップ
Serverless Spark コンピューティングリソースを設定した後、それを使用してデータ開発でノードタスクを開発できます。詳細については、「EMR Spark ノード」、「EMR Spark SQL ノード」、「EMR Spark Streaming ノード」、「EMR Kyuubi ノード」、「Serverless Spark バッチノード」、「Serverless Spark SQL ノード」、および「Serverless Kyuubi ノード」をご参照ください。