このトピックでは、Ranger で Spark を有効化する方法と、関連する権限を設定する方法について説明します。
前提条件
DataLake クラスターが作成され、クラスターに Ranger サービスが選択されていること。クラスターの作成方法の詳細については、「クラスターを作成する」をご参照ください。
注意事項
Ranger で Spark を有効化すると、Ranger の Spark プラグインが Spark Thrift Server にロードされます。権限検証は、Spark Thrift Server を使用して Spark SQL ジョブを送信した場合にのみトリガーされます。他の方法で Spark ジョブを送信した場合、権限検証はトリガーされません。
権限検証が必要なアクセス方法
Beeline クライアントを使用して Spark Thrift Server にアクセスします。
JDBC URL を使用して Spark Thrift Server にアクセスします。
権限検証が不要なアクセス方法
Spark SQL クライアントを使用して Spark SQL ジョブを送信します。
Spark-Submit を使用して Spark ジョブを送信します。
PySpark クライアントを使用して Spark SQL ジョブを送信します。
このトピックは、Kerberos 認証が有効になっているクラスターである高セキュリティクラスターには適用されません。
Kyuubi を使用してデータレイクテーブルにアクセスする場合、Ranger で Spark 権限を設定することはできません。
データレイクテーブルの場合、クラスターが次のバージョンの場合、Hudi と Delta のみを使用して Ranger で Spark 権限を設定できます。
EMR V3.42.0 以降のマイナーバージョン
EMR V5.8.0 以降のマイナーバージョン
Ranger で Spark を有効にする
[サービス]タブに移動します。
EMR コンソールにログインします。左側のナビゲーションペインで、[ECS 上の EMR]をクリックします。
上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。
[ECS 上の EMR] ページで、目的のクラスターを見つけ、[操作]列の [サービス] をクリックします。
Ranger で Spark を有効にします。
表示されるページの Services タブで、Status[ranger-plugin] セクションの をクリックします。
[ステータス] タブの [サービス概要] セクションで、[enablespark3] をオンにします。
説明この例では、Spark 3 を使用しています。
確認メッセージで、[OK] をクリックします。
Spark Thrift Server を再起動します。
[サービス] タブで、Spark3 セクションの [ステータス] をクリックします。
[コンポーネント] セクションで、[sparkthriftserver] を見つけ、[操作]列の [再起動] をクリックします。
表示されるダイアログボックスで、[実行理由] パラメーターを設定し、[OK] をクリックします。
[確認] メッセージで、[OK] をクリックします。
権限を設定する
Ranger で権限を設定するには、最初に Ranger の Web UI にアクセスする必要があります。Ranger の Web UI へのアクセス方法の詳細については、「Ranger の Web UI にアクセスする」をご参照ください。その後、HADOOP SQL セクションの [emr-hive] をクリックして Spark 権限を設定できます。
Ranger の Spark と Ranger の Hive は、権限管理に同じ emr-hive サービスを使用し、権限設定にも同じ方法を使用します。権限設定の詳細については、「Ranger で Hive を有効化し、関連する権限を設定する」をご参照ください。