View a markdown version of this page

Spark プロパティを使用してカスタム設定を指定する - Amazon Athena

Spark プロパティを使用してカスタム設定を指定する

Amazon Athena for Apache Spark でセッションを作成または編集する場合、[Spark プロパティ] を使用してセッションの .jar ファイル、パッケージ、またはその他のカスタム設定を指定できます。Spark のプロパティを指定するには、Athena コンソール、AWS CLI、または Athena API を使用できます。

Athena コンソールを使用して Spark プロパティを指定する

Athena コンソールでは、ノートブックの作成時や現在のセッションの編集時に Spark プロパティを指定できます。

[ノートブックの作成] または [セッションの詳細の編集] ダイアログボックスにプロパティを追加する方法
  1. [Spark のプロパティ] を拡張します。

  2. プロパティを追加するには、[テーブルで編集] または [JSON で編集] オプションを使用します。

    • [テーブルで編集] オプションを使用する場合は、[プロパティを追加] を選択してプロパティを追加するか、[削除] を選択してプロパティを削除します。[キー] ボックスと [値] ボックスを使用して、プロパティ名とその値を入力します。

      • カスタム .jar ファイルを追加するには、spark.jars プロパティを使用します。

      • パッケージファイルを指定するには、spark.jars.packages プロパティを使用します。

    • 設定を直接入力して編集するには、[JSON で編集] オプションを選択します。JSON テキストエディタでは、次のタスクを実行できます。

      • JSON テキストをクリップボードにコピーするには、[コピー] を選択します。

      • JSON エディタからすべてのテキストを削除するには、[クリア] を選択します。

      • 設定 (歯車) アイコンを選択して行折り返しの動作を設定するか、JSON エディタのカラーテーマを選択します。

注意事項

  • Athena for Spark でプロパティを設定できます。これは [SparkConf] オブジェクトで [Spark properties] を直接設定する場合と同じです。

  • spark. プレフィックスが付いたすべての Spark プロパティを開始します。他のプレフィックスが付いたプロパティは無視されます。

  • Athena のカスタム設定では、すべての Spark プロパティを利用できるわけではありません。設定が制限されている StartSession リクエストを送信すると、セッションは開始時に失敗します。

    • spark.athena. プレフィックスは予約されているため使用できません。

AWS CLI または Athena API を使用してカスタム設定を指定する

AWS CLI または Athena API を使用してセッション設定を指定するには、StartSession API アクションまたは start-session CLI コマンドを使用します。StartSession リクエストでは、EngineConfiguration オブジェクトの SparkProperties フィールドを使用して設定情報を JSON 形式で渡します。これにより、指定した設定でセッションが開始されます。

AWS CLI からカスタム Spark プロパティを指定するには、インタラクティブセッションの開始時に engine-configuration 設定を使用します。

aws athena start-session \ --region "REGION" --work-group "WORKGROUP" \ --engine-configuration '{ "Classifications": [{ "Name": "spark-defaults", "Properties": { "spark.dynamicAllocation.minExecutors": "1", "spark.dynamicAllocation.initialExecutors": "2", "spark.dynamicAllocation.maxExecutors": "10", "spark.dynamicAllocation.executorIdleTimeout": "300" } }] }'

CreateWorkgroup API アクションまたは UpdateWorkgroup API アクションを使用して、ワークグループレベルでデフォルト設定を指定することもできます。ワークグループで定義したデフォルト設定は、そのワークグループで開始されたすべてのセッションに適用されます。

ワークグループの AWS CLI からデフォルトの Spark プロパティを指定するには、新しいワークグループの作成時に engine-configuration 設定を使用します。

aws athena create-work-group \ --region "REGION" \ --name "WORKGROUP_NAME" \ --configuration '{ "EngineVersion": { "SelectedEngineVersion": "Apache Spark version 3.5" }, "ExecutionRole": "EXECUTION_ROLE", "EngineConfiguration": { "Classifications": [ { "Name": "spark-defaults", "Properties": { "spark.dynamicAllocation.minExecutors": "1", "spark.dynamicAllocation.initialExecutors": "2", "spark.dynamicAllocation.maxExecutors": "10", "spark.dynamicAllocation.executorIdleTimeout": "300" } } ] } }'

ワークグループの AWS CLI からデフォルトの Spark プロパティに変更を加えるには、ワークグループの更新時に engine-configuration 設定を使用します。この変更は、その後の新しいインタラクティブセッションに適用されます。

aws athena update-work-group \ --region "REGION" \ --work-group "WORKGROUP_NAME" \ --configuration-updates '{ "EngineVersion": { "SelectedEngineVersion": "Apache Spark version 3.5" }, "ExecutionRole": "EXECUTION_ROLE", "EngineConfiguration": { "Classifications": [ { "Name": "spark-defaults", "Properties": { "spark.dynamicAllocation.minExecutors": "1", "spark.dynamicAllocation.initialExecutors": "2", "spark.dynamicAllocation.maxExecutors": "12", "spark.dynamicAllocation.executorIdleTimeout": "300" } } ] } }'