我正在尝试使用spark-submit
来部署spark作业,spark-submit --class Eventhub --master yarn --deploy-mode cluster --executor-memory 1024m --executor-cores 4 --files app.conf spark-hdfs-assembly-1.0.jar --conf "app.conf"
包含许多参数,例如
spark-submit
我正在寻找一种方法将所有这些标志放入文件中以传递给spark-submit
以使我的spark-submit --class Eventhub --master yarn --deploy-mode cluster --config-file my-app.cfg --files app.conf spark-hdfs-assembly-1.0.jar --conf "app.conf"
命令简单地说谎
int idToSearch;
if (!int.TryParse(txtSearchCriteria.Text, out idToSearch)
{
// warn somehow the user
}
else
{
//go on with your query, you can safely use idToSearch for you parameter value
...
cmd4.Parameters.AddWithValue("@SearchCriteria", idToSearch);
...
}
任何人都知道这是否可能?
答案 0 :(得分:4)
您可以使用--properties-file
,其中应包含启动关键字spark
的参数,例如
spark.driver.memory 5g
spark.executor.memory 10g
命令应该如下:
spark-submit --class Eventhub --master yarn --deploy-mode cluster --properties-file <path-to-your-conf-file> --files app.conf spark-hdfs-assembly-1.0.jar --conf "app.conf"
答案 1 :(得分:0)
除了将--properties
设置为@FaigB以外,另一种方法是使用conf/spark-defaults.conf
。您可以通过执行find-spark-home
或定位并查看spark-env.sh
来找到它的位置。另外,您可以在调用spark-submit
(例如SPARK_CONF_DIR=/your_dir/ spark-submit ...
时或之前,通过设置环境变量来定义此配置的存放位置。如果您正在使用YARN,则设置SPARK_CONF_DIR
将不起作用。您可以在https://spark.apache.org/docs/latest/configuration.html#dynamically-loading-spark-properties