/ / Неможливо підключитися до Монго з pyspark - пітона, монгода, писпарка

Неможливо підключитися до Монго з pyspark - python, mongodb, pyspark

Я намагаюся підключитися до MongoDB, використовуючи pyspark. Нижче наведено код, який я використовую

from pyspark import SparkConf, SparkContext
from pyspark.sql import SQLContext

sparkConf = SparkConf().setAppName("App")
sparkConf.set("spark.mongodb.input.uri", "mongodb://127.0.0.1/mydb.test")
sc = SparkContext(conf = sparkConf)
sqlContext =SQLContext(sc)
df = sqlContext.read.format("com.mongodb.spark.sql.DefaultSource").load()
df.printSchema()

Я стикаюся з нижньою помилкою

py4j.protocol.Py4JJavaError: An error occurred while calling o25.load.
java.lang.ClassNotFoundException: Failed to find data source: com.mongodb.spark.sql.DefaultSource.

Відповіді:

5 за відповідь № 1

Не вдалося знайти джерело даних: com.mongodb.spark.sql.DefaultSource.

Ця помилка вказує на це PySpark не вдалося знайти MongoDB Spark Connector.

Якщо ви закликаєте pyspark безпосередньо вкажіть mongo-spark-connector у параметрі пакетів. Наприклад:

./bin/pyspark --packages org.mongodb.spark:mongo-spark-connector_2.11:2.2.0

Якщо ви не викликаєте pyspark безпосередньо (тобто з IDE, такого як Eclipse), вам доведеться змінити конфігурацію Spark. spark.jars.packages , щоб вказати залежність.

Або в межах spark-defaults.conf файл:

spark.jars.packages org.mongodb.spark:mongo-spark-connector_2.11:2.2.0

Або спробуйте змінити конфігурацію в коді:

SparkConf().set("spark.jars.packages","org.mongodb.spark:mongo-spark-connector_2.11:2.2.0")

Або:

SparkSession.builder.config("spark.jars.packages","org.mongodb.spark:mongo-spark-connector_2.11:2.2.0" ).getOrCreate()