Как передать аргументы (EntryPointArguments) в искровом задании с помощью EMR Serverless?
** Я пытаюсь передать некоторые аргументы для запуска моего скрипта pyspark с помощью параметра boto3 (emr-serverless client) EntryPointArguments, однако это вообще не работает, я хотел бы знать, делаю ли я это правильно.**
**my python code is like this:**
`
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-env', nargs='?', metavar='Environment', type=str,
help='String: Environment to run. Options: [dev, prd]',
choices=['dev', 'prd'],
required=True,
default="prd")
# Capture args
args = parser.parse_args()
env = args.env
print(f"HELLO WOLRD FROM {env}")`
**and my script that runs emr-serverless looks like this:**
jobDriver={
"sparkSubmit": {
"entryPoint": "s3://example-bucket-us-east-1-codes-prd/hello_world.py",
"entryPointArguments": ["-env prd"],
"sparkSubmitParameters":
"--conf spark.executor.cores=2 \
--conf spark.executor.memory=4g \
--conf spark.driver.cores=2 \
--conf spark.driver.memory=8g \
--conf spark.executor.instances=1 \
--conf spark.dynamicAllocation.maxExecutors=12 \
",
}
**I've already tried putting single quotes, double quotes, I've tried to pass along these parameters in the "sparkSubmitParameters" and so far, nothing works, there aren't many examples of how to do this on the internet, so my hope is that someone has already done it, and achieved, thank you!**