ablog

不器用で落着きのない技術者のメモ

Spark UI で Glue ジョブの結果を確認する手順

S3 に Spark event log 用のパス(例: s3://spark-ui-tokyo-ya/eventlog)を作成し、Glueジョブの[モニタリングオプション]-[Spark UI] にチェックを入れ、[Amazon S3 prefix for Spark event logs]にその S3 のパスを指定し、CloudFormation で Spark History Server 用の EC2 インスタンス作成時に EventLogDir に S3 のパスを指定する。

  • https://docs.aws.amazon.com/ja_jp/glue/latest/dg/monitor-spark-ui-history.html で使用するリージョンの「Launch Stack」をクリックする。
    • スタック名:SparkUIStack
    • Spark UI Configuration:0.0.0.0/0
      • CloudFormation Stack 作成"完了"後に My ÎP に変更する
    • HistoryServerPort:18080(デフォルト値)
    • EventLogDir:s3a://[YOUR BUCKET NAME]/eventlog
      • 任意のS3バケットを指定(Glueと同じリージョンにする)
    • SparkPackageLocation:デフォルト値
    • KeystorePath:何も入力しない
    • KeystorePassword:任意の値
    • InstanceType:t3.small (デフォルト値)
    • LastAmiId:デフォルト値
    • VpcId:任意のVPC
    • SubnetId:上記VpcIdが所属するSubnet

デバッグ

確認ポイント
  • ネットワーク的に到達可能か(VPC/Subnet/SecurityGroup)
    • VPN接続などしている場合はVPN接続なしなども試してみる。
  • CFn で s3a://[bucket name]/eventlog のようにパスを指定しているか
  • ログ
    • /aws-glue/sparkui_cfn/cfn-init.log
    • /aws-glue/sparkui_cfn/spark_history_server.log
EC2インスタンスにログインする