我使用的是火花2.2.0。下面是我在 Spark 上使用的 java 代码片段:
SparkSession spark = SparkSession.builder()
.appName("MySQL Connection")
.master("spark://ip:7077")
.config("spark.jars", "/path/mysql.jar")
.getOrCreate();
Dataset dataset = spark.read().format("jdbc")
.option("url", "jdbc:mysql://ip:3306/mysql")
.option("user", "superadmin")
.option("password", "****")
.option("dbtable", "account")
.load();
上面的代码工作完美,但问题是,如果我需要提交2个jar,那么我不知道如何提交? config() 方法仅接受 key('spark.jars') 中的一个参数和 value(jar 的路径)中的一个参数。我知道如何在使用 SparkConfig().setJars() 时发送多个 jar,但不知道如何发送多个 jar,因为我需要使用 SparkSession。
有人可以帮忙吗?
正如中所解释的Spark提交在类路径中添加多个jar https://stackoverflow.com/q/29099115/8371915 and 通过spark-submit 将额外的jar 传递给Spark https://stackoverflow.com/q/33961699/8371915你应该使用逗号分隔列表:
SparkSession spark = SparkSession.builder()
.appName("MySQL Connection")
.master("spark://ip:7077")
.config("spark.jars", "/path/mysql.jar,/path/to/another.jar")
.getOrCreate();
我知道如何在使用 SparkConfig().setJars() 时发送多个 jar,但不知道如何发送多个 jar,因为我需要使用 SparkSession。
SparkConf
仍然适用于SparkSession https://spark.apache.org/docs/latest/api/java/org/apache/spark/sql/SparkSession.Builder.html#config-org.apache.spark.SparkConf-:
SparkConf conf;
...
SparkSession.builder().config(conf).getOrCreate();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)