我花了一些时间来尝试在本地运行复杂的spark应用程序,以便更快地进行测试(而不必打包并部署到集群)。
某些上下文:
我面临的问题是,当我通过IDE运行Spark Application时,似乎没有从SPARK_HOME控制器(配置或jar)中拾取任何其他项。我花了几个小时试图使配置项正常工作,并最终在启动Spark会话之前在我的测试用例中将它们设置为System.property值,以使Spark能够接收它们,因此可以忽略配置设置。 / p>
但是,我不知道如何为供应商特定的jar文件重现此内容。有没有一种简单的方法可以模拟spark-submit的--jars行为,并使用此jar值在首页进行我的spark会话设置?注意:我在代码中使用以下命令来启动Spark会话:
SparkSession.builder().config(conf).getOrCreate()
其他信息(如果有帮助的话):
答案 0 :(得分:0)
在构建SparkSession时,您可以通过传递“ spark.jars”作为键以及以逗号分隔的jar路径列表来使用.config(key, value)
,如下所示:
SparkSession.builder().config("spark.jars", "/path/jar1.jar, /path/jar2.jar").config(conf).getOrCreate()