如何在 Pycharm 中将 jar 添加到 Spark

How to add jar to Spark in Pycharm

我想调试PyCharm中的Spark代码,因为它更容易调试。但是我需要添加一个 spark-redis.jar 否则 Failed to find data source: redis

连接redis的代码是

spark = SparkSession \
            .builder \
            .appName("Streaming Image Consumer") \
            .config("spark.redis.host", self.redis_host) \
            .config("spark.redis.port", self.redis_port) \
            .getOrCreate()

如果使用PyCharm如何修复它?

我试过在 $SPARK_HOME/conf/spark-defaults.conf 中添加 spark.driver.extraClassPath 但它不起作用。

我也尝试在 运行 配置中添加环境变量 PYSPARK_SUBMIT_ARGS --jars ... 但它引发了其他错误

spark.driver.extraClassPath 添加到 spark-defaults.conf 适用于我的 Spark 2.3.1

cat /Users/oleksiidiagiliev/Soft/spark-2.3.1-bin-hadoop2.7/conf/spark-defaults.conf

spark.driver.extraClassPath /Users/oleksiidiagiliev/.m2/repository/com/redislabs/spark-redis/2.3.1-SNAPSHOT/spark-redis-2.3.1-SNAPSHOT-jar-with-dependencies.jar

请注意,这是一个带有依赖项的 jar(您可以使用 mvn clean install -DskipTests 从源构建一个)。

此外,我将 pyspark 库和 SPARK_HOME 环境变量添加到 PyCharm 项目中,如此处所述 https://medium.com/parrot-prediction/integrating-apache-spark-2-0-with-pycharm-ce-522a6784886f