我正在尝试将数据从Netezza加载到AWS。我想在bootstrap操作中的spark-defaults.conf中添加spark.executor.extraClassPath和spark.driver.extraClassPath。请在下面找到updconf.sh(Bootstrap action)
#!/bin/bash
sudo aws s3 cp s3://my-bucket/nzjdbc.jar /usr/lib/sqoop/lib/ --sse aws:kms --sse-kms-key-id 'xxxxxxxxxxxxxxxxxxxxxx'
echo "updating spark-defaults.conf"
sudo chmod 777 /home/hadoop/spark/conf/spark-defaults.conf
sudo echo >> /home/hadoop/spark/conf/spark-defaults.conf
driverstr='/usr/lib/sqoop/lib/nzjdbc.jar'
sudo echo "export spark.executor.extraClassPath=`echo $driverstr`">>/home/hadoop/spark/conf/spark-defaults.conf
sudo echo "export spark.driver.extraClassPath=`echo $driverstr`">>/home/hadoop/spark/conf/spark-defaults.conf
但我得到' /etc/spark/conf/spark-defaults.conf:没有这样的文件或目录'错误。 我怎样才能做到这一点?
答案 0 :(得分:1)
有几种方法可以实现这一目标。最简单的一个如下:
创建一个名为myConfig.json的文件
'Configurations': [
{
'Classification': 'spark-defaults',
"Properties":
{
"spark.executor.extraClassPath": "value for executorsclasspath",
"spark.driver.extraClassPath": "value for driver classpath",
"spark.yarn.maxAppAttempts": "...",
....
....//other properties as you need.
}
},
]
将文件上传到S3存储桶。
从控制台创建群集时,只需在S3中提供S3中文件的位置"编辑软件设置"。
此外,您还可以使用任何AWS SDK,如CLI或Python,并提供这些配置参数。
参考:http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-configure.html