VPC内に Spark Job と Python Shell のジョブを作成した際に使用する IP アドレス数を確認した。1ジョブの1回の実行当たり、Spark Job は Worker 数、Python Shell は 1 つのIPアドレスを消費する。
ジョブの種類 | 使用するIPアドレス数 | Worker数/DPU |
---|---|---|
Spark Job | Worker数 | 10 workers |
Python Shell | 1つ | 1/16 DPU,1 DPU |
- Spark job
- Python shell
検証を行った構成
共通
- Glue Connection
- VPCエンドポイント経由で Glue Job から S3 にアクセスするために Glue Connection を作成する。
- Security group
- Glue Connection で使用する Security group はインバウンドルールで自セキュリティグループからの全てのトラフィックを許可する。
Spark Job
- Script
- 1分間スリープするだけのスクリプト
import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.job import Job import time time.sleep(60) ## @params: [JOB_NAME] args = getResolvedOptions(sys.argv, ['JOB_NAME']) sc = SparkContext() glueContext = GlueContext(sc) spark = glueContext.spark_session job = Job(glueContext) job.init(args['JOB_NAME'], args) job.commit()
- Job details
- Script filename: SparkJob.py
- Type: Spark
- Language: Python 3
- Worker type: G 1X
- Requested number of workers: 10
- Additional network connections: 作成した Glue connection を指定