1

以下を使用して、python 3.6.5 boto3 と spark 2.2.1 を使用して、AWS で実行中の emr v5.11.1 クラスターに spark ジョブ ステップを追加しています。

myemr = boto3.client('emr',region_name=os.environ['AWS_DEFAULT_REGION'])            
response = myemr.add_job_flow_steps(
            JobFlowId=my_emr_id,
            Steps=[
                {
                    'Name': key,
                    'ActionOnFailure': 'CONTINUE',
                    'HadoopJarStep': {
                        'Jar': 'command-runner.jar',
                        'Args': [
                            'spark-submit',
                            '--deploy-mode', 'cluster',
                            '--master', 'yarn',
                            '--conf',  'spark.yarn.appMasterEnv.my_password=sensitive_value',
                            '--conf',  'spark.redaction.regex=password',
                            '--class', 'com.myApp', 's3a://myjarurl.jar',
                            '-c', 's3a://s3bucket_myconfig_location',
                            '-w', 'myconfig.json',
                            '-e', 'prod',
                            '-n', 'demo'
                        ]
                    }
                }
            ]
        )

ステップは正常に実行されており、yarn 環境変数にアクセスできます。ただし、sensitive_value は、ログまたは AWS EMR コンソールのステップ タブから削除されません。、両方 --confに 表示されています。spark.yarn.appMasterEnv.my_password=sensitive_value

変数 spark.yarn.appMasterEnv.my_password をログとコンソールから完全に削除するか、sensitive_value を *** のようなものに置き換えてください。

Apache spark doc を読むhttps://spark.apache.org/docs/2.2.1/configuration.htmlこれでうまくいくと思いました。提案をお待ちしております。

4

0 に答える 0