MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Datenquelle konnte nicht gefunden werden:com.mongodb.spark.sql.DefaultSource

So habe ich es im Jupyter-Notebook gemacht:
1. Laden Sie JAR-Dateien aus dem zentralen oder einem anderen Repository herunter und legen Sie sie im Verzeichnis „jars“ ab:
mongo-spark-connector_2.11-2.4.0
mongo-java-driver-3.9.0
2. Erstellen Sie eine Sitzung und schreiben/lesen Sie beliebige Daten

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()

Als Ergebnis sehen Sie Folgendes: