我有一个Spark应用程序,我想使用配置文件进行配置,例如Spark的spark-defaults.conf
,HBase的hbase-site.xml
和log4j的log4j.properties
。我也想避免必须以编程方式添加文件。将Spark和Hadoop配置文件添加到JAR中?
我尝试将文件添加到我的JAR(在/
和/conf
路径下),但是当我运行时,配置文件似乎没有任何影响。
要进一步检查我的要求我试图运行spark-shell
用相同的JAR和检查文件的内容,我发现,他们被文件覆盖从其他地点:/spark-defaults.conf
和/log4j.properties
是完全不同的,/conf/hbase-site.xml
同时保持完好有(可能)的属性被另一个JAR的hbase-default.xml
覆盖。
我使用CDH 5.4.0。
从/etc/spark/
加载文件log4j.properties
和spark-defaults.conf
并且从/opt/cloudera/parcels/CDH-5.4.0-1.cdh5.4.0.p0.27/jars/hbase-common-1.0.0-cdh5.4.0.jar
加载hbase-default.xml
。
有没有办法在我的配置文件上指定某种优先级?我应该只配置/etc/spark
中的文件(也可以添加我的hbase-site.xml
)?有没有一种方法可以将自定义目录路径添加到可以优先于其他目录的类路径中?