JAR ファイルとカスタム Spark 設定を追加する
Amazon Athena for Apache Spark でセッションを作成または編集する場合、[Spark プロパティ].jar
ファイル、パッケージ、またはその他のカスタム設定を指定できます。Spark のプロパティを指定するには、Athena コンソール、AWS CLI、または Athena API を使用できます。
Athena コンソールを使用した Spark プロパティの指定
Athena コンソールでは、ノートブックの作成時や現在のセッションの編集時に Spark プロパティを指定できます。
[ノートブックの作成] または [セッションの詳細の編集] ダイアログボックスにプロパティを追加する方法
-
[Spark のプロパティ] を拡張します。
-
プロパティを追加するには、[テーブルで編集] または [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-sessionStartSession
リクエストでは、EngineConfiguration オブジェクトの SparkProperties
フィールドを使用して設定情報を JSON 形式で渡します。これにより、指定した設定でセッションが開始されます。リクエストの構文については、「Amazon Athena API リファレンス」の「StartSession」を参照してください。
セッション開始エラーのトラブルシューティング
セッション開始時にカスタム設定エラーが発生すると、Athena for Spark コンソールにエラーメッセージバナーが表示されます。セッション開始エラーをトラブルシューティングするには、セッション状態の変更やログ情報を確認できます。
セッション状態の変更に関する情報を表示する
セッション状態の変更に関する詳細は、Athena ノートブックエディタまたは Athena API から取得できます。
Athena コンソールでセッション状態情報を表示する方法
-
Athena ノートブックエディタの右上にある [セッション] メニューから [詳細を表示] を選択します。
-
[現在のセッション] タブを表示します。[セッション情報] セクションには、セッション ID、ワークグループ、ステータス、状態変更理由などの情報が表示されます。
次の画面キャプチャ例は、Athena の Spark セッションエラーに関連して、[セッション情報] ダイアログボックスの [状態変更の理由] セクションに表示される情報を示しています。
Athena API を使用してセッション状態情報を表示する方法
-
Athena API では、SessionStatus オブジェクトの
StateChangeReason
フィールドでセッション状態の変更情報を確認できます。
注記
セッションを手動で停止した後、またはアイドルタイムアウト (デフォルトは 20 分) 後にセッションが停止した場合には、[StateChangeReason] の値が [リクエストに従ってセッションを終了済み]
に変わります。
ロギングを使用したセッション開始エラーのトラブルシューティング
セッション開始時に発生するカスタム設定エラーは Amazon CloudWatch にログとして記録されます。CloudWatch Logs 内で AthenaSparkSessionErrorLogger
からのエラーメッセージを検索し、失敗したセッションの開始をトラブルシューティングします。
Spark ロギングの詳細については、「Athena で Spark アプリケーションイベントのログを記録する」を参照してください。
Athena for Spark のトラブルシューティングセッションの詳細については、「セッションのトラブルシューティング」を参照してください。