sql >> Database teknologi >  >> NoSQL >> MongoDB

Kunne ikke finde datakilde:com.mongodb.spark.sql.DefaultSource

Sådan gjorde jeg det i Jupyter notesbog:
1. Download jars fra centralt eller et hvilket som helst andet lager, og læg dem i mappe kaldet "jars":
mongo-spark-connector_2.11-2.4.0
mongo-java-driver-3.9.0
2. Opret session og skriv/læs alle data

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

Som et resultat vil du se dette:



  1. Rails 3 ved hjælp af MongoDB via mongoid-adapter - er der nogen måde at dele attributspecifikationer på uden at bruge Single-Table Inheritance?

  2. mongodb markør-id ikke gyldig fejl

  3. MongoDB omdøb databasefeltet i array

  4. MongoDB Bulk Insert Ignorer duplikat