このトピックでは、Spark ジョブの開発プロセス中に Spark ジョブをローカルで実行およびデバッグする方法について説明します。
前提条件
Lindorm コンピュートエンジンのパブリックエンドポイントを有効にしていること。
ローカル IP アドレスが Lindorm インスタンスのホワイトリストに追加されていること。 詳細については、「ホワイトリストを設定する」をご参照ください。
Spark ジョブプロジェクトが準備されていること。
Spark ジョブをローカルで実行する
環境パッケージから Lindorm コンピュートエンジンの最新の環境インストールパッケージをダウンロードします。
ダウンロードしたパッケージを解凍します。 展開用のカスタムパスを指定できます。
コンピュートエンジンの環境変数をローカルで設定します。 展開パスを SPARK_HOME 環境変数として設定します。
Windows でコンピュートエンジンの環境変数を設定するには、次の手順を実行します。
ローカルマシンで [システムプロパティ] ページを開き、[環境変数] をクリックします。
[環境変数] ウィンドウで、[システム変数] セクションの [新規] をクリックします。
[新しいシステム変数] ウィンドウで、次のパラメーターを入力します。
[変数名]: SPARK_HOME と入力します。
[変数値]: パッケージが解凍されたパスを入力します。
[OK] をクリックします。
[適用] をクリックします。
Linux でコンピュートエンジンの環境変数を設定するには、
export SPARK_HOME="<パッケージが解凍されたパス>"コマンドを実行し、このコマンドを~/.bashrcに追加します。
Spark ジョブプロジェクトをパッケージ化し、
$SPARK_HOME/bin/spark-submitを使用して Spark ジョブを送信します。 以下にジョブ送信の例を示します。Spark ジョブの例を例として、プロジェクトをダウンロードして解凍します。
次のパラメーターを設定します。
パラメーター
値
説明
spark.sql.catalog.lindorm_table.urlld-bp1z3506imz2f****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30020.
LindormTable にアクセスするためのパブリックエンドポイント。 HBase Java API を介して Lindorm インスタンスの LindormTable にアクセスするためのパブリックエンドポイントを入力します。 同じ Lindorm インスタンスの LindormTable のみがサポートされます。
spark.sql.catalog.lindorm_table.usernameデフォルトのユーザー名は root です。
LindormTable にアクセスするためのユーザー名。
spark.sql.catalog.lindorm_table.passwordデフォルトのパスワードは root です。
LindormTable にアクセスするためのパスワード。
$SPARK_HOME/bin/spark-submit \ # --jars を使用してジョブの依存関係にある JAR ファイルを追加できます。 その他のパラメーターについては、spark-submit -h をご参照ください。 --class com.aliyun.lindorm.ldspark.examples.LindormSparkSQLExample \ lindorm-spark-examples/target/lindorm-spark-examples-1.0-SNAPSHOT.jar説明Spark ジョブプロジェクトを送信するときに実行モードを指定しない場合、ジョブはデフォルトでローカルで実行されます。
spark.master=local[*]パラメーターを指定することもできます。SQL コードに含まれるスキーマに基づいて、対応するデータベーステーブル構造を作成します。
mvn clean packageを使用してジョブをパッケージ化します。
ジョブのローカル開発が完了したら、JAR ジョブを送信して Spark ジョブをクラウド上で実行できます。 詳細については、「ステップ 1: 依存関係を設定する」をご参照ください。 Spark ジョブで使用される接続アドレスを Lindorm コンピュートエンジンのプライベートネットワーク接続アドレスに変更します。
Spark ジョブをデバッグする
Spark ジョブの例を例として、IntelliJ IDEA を使用して Spark ジョブをデバッグします。 IntelliJ IDEA は IntelliJ IDEA の公式サイトからダウンロードできます。
IntelliJ IDEA を開き、pom.xml ファイル内の Spark 関連の依存関係を
<scope>provided</scope>として設定します。プロジェクトの依存関係に $SPARK_HOME/jars を追加します。
IntelliJ IDEA の上部のメニューバーで、 を選択します。
左側のナビゲーションウィンドウで、 を選択し、+ をクリックして Java クラスライブラリを追加します。
$SPARK_HOME/jars を選択します。
[OK] をクリックします。
Spark ジョブプログラムを実行します。 ジョブの実行中に、ログで指定されたリンクアドレスを使用して SparkUI を表示できます。
2022/01/14 15:27:58 INFO SparkUI:Bound SparkUI to 0.0.0.0,and started at http://30.25.XX.XX:4040