首页 > 解决方案 > 如何在 pyspark anaconda 中添加 jar 文件?

问题描述

from pyspark.sql import Row

from pyspark import SparkConf, SparkContext

conf=SparkConf().setAppName("2048roject").setMaster("local[*]")\
     .set("spark.driver.maxResultSize", "80g").set("spark.executor.memory", "5g").set("spark.driver.memory", "60g")
sc=SparkContext.getOrCreate(conf)
dfv = sc.textFile("./part-001*.gz")

我已经通过 anaconda 安装了 pyspark,我可以在 anaconda python 中导入 pyspark。但我不知道如何在conf.

我试过了

conf=SparkConf().setAppName("2048roject").setMaster("local[*]")\
     .set("spark.driver.maxResultSize", "80g").set("spark.executor.memory", "5g").set("spark.driver.memory", "60g").set('spark.jars.packages','file:///XXX,jar')

但它不起作用。在这里添加jar文件的任何正确方法?

标签: pyspark

解决方案


文档说:

spark.jars.packages:要包含在驱动程序和执行程序类路径中的 jar 的 Maven 坐标的逗号分隔列表。坐标应为 groupId:artifactId:version。如果给定 spark.jars.ivySettings 工件将根据文件中的配置进行解析,否则将在本地 maven 存储库中搜索工件,然后在 maven central 和最后由命令行选项给出的任何其他远程存储库中搜索——存储库。有关更多详细信息,请参阅高级依赖管理。

相反,您应该简单地使用spark.jars

spark.jars:以逗号分隔的 jar 列表,包含在驱动程序和执行程序类路径中。允许使用 Glob。

所以:

conf=SparkConf().setAppName("2048roject").setMaster("local[*]")\
     .set("spark.driver.maxResultSize", "80g").set("spark.executor.memory", "5g").set("spark.driver.memory", "60g").set('spark.jars.files','file:///XXX.jar')

推荐阅读