Ошибка при попытке сохранить фреймы данных pyspark в mongoDB - PullRequest
0 голосов
/ 01 ноября 2019
F=df0.join(df1, on="num", how="inner")\
        .join(df2, on="num", how="inner")\
            .join(df3, on="num", how="inner")\
                 how="inner")\
                                    .drop("num")
    x=F.show() 

До тех пор, пока здесь все отлично работает

Хранение данных в MONGODB

connection_string = "mongodb://127.0.0.1:27017"
F.write.format("com.mongodb.spark.sql.DefaultSource")\
        .option("spark.mongodb.output.uri" ,connection_string)\
            .option("spark.mongodb.input.partitioner" ,"MongoShardedPartitioner")\
                .option('database','PrimitiveDB')\
                    .option('collection','PrimeCollection')\
                        .mode("append")\
                            .save()

enter image description here

У меня есть скрипт pyspark, который выполняется на сервереи извлекает функции из огромного набора данных. На выходе получается целый pyspark.dataframe.

Моя проблема в том, что он не может подключиться к mongoDB из-за какой-то проблемы с зависимостью от jar, и я не знаю, как мне это сделать на сервере. Мой скрипт pyspark запускается сверху на environment.yml, загруженном на сервер. Может кто-нибудь предложить мне, как решить эту проблему, пожалуйста?

Я попытался выполнить следующую команду:

pyspark --packages org.mongodb.spark:mongo-spark-connector_2.11:2.4.1 

, так как у меня есть spark_version: 2.4.1. Он возвращает следующий вывод, и все же ошибка выше сохраняется enter image description here

...