MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Impossible de trouver la source de données :com.mongodb.spark.sql.DefaultSource

Voici comment je l'ai fait dans le cahier Jupyter :
1. Téléchargez les jars depuis le référentiel central ou tout autre référentiel et placez-les dans le répertoire appelé "jars" :
mongo-spark-connector_2.11-2.4.0
mongo-java-driver-3.9.0
2. Créer une session et écrire/lire toutes les données

from pyspark import SparkConf
from pyspark.sql import SparkSession
from pyspark.sql.functions import *
from pyspark.sql.types import *

working_directory = 'jars/*'

my_spark = SparkSession \
    .builder \
    .appName("myApp") \
    .config("spark.mongodb.input.uri=mongodb://127.0.0.1/test.myCollection") \
    .config("spark.mongodb.output.uri=mongodb://127.0.0.1/test.myCollection") \
    .config('spark.driver.extraClassPath', working_directory) \
    .getOrCreate()

people = my_spark.createDataFrame([("JULIA", 50), ("Gandalf", 1000), ("Thorin", 195), ("Balin", 178), ("Kili", 77),
                            ("Dwalin", 169), ("Oin", 167), ("Gloin", 158), ("Fili", 82), ("Bombur", 22)], ["name", "age"])

people.write.format("com.mongodb.spark.sql.DefaultSource").mode("append").save()

df = my_spark.read.format("com.mongodb.spark.sql.DefaultSource").load()
df.select('*').where(col("name") == "JULIA").show()

En conséquence, vous verrez ceci :