Как добавить баночку в Spark в Pycharm - PullRequest
1 голос
/ 11 июля 2019

Я хочу отлаживать код Spark в PyCharm, потому что его легче отлаживать.Но мне нужно добавить 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.driver.extraClassPath в $SPARK_HOME/conf/spark-defaults.conf, но это не работает.

Я также попытался добавить переменную среды PYSPARK_SUBMIT_ARGS --jars ... в конфигурации выполнения, но это вызывает другую ошибку

1 Ответ

1 голос
/ 11 июля 2019

Добавление 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

...