PySpark Mongodb / java.lang.NoClassDefFoundError:org / apache / spark / sql / DataFrame

时间:2017-04-04 12:51:55

标签: mongodb pyspark connector databricks

我正在尝试将pyspark连接到MongoDB(在Databricks上运行):

from pyspark import SparkConf, SparkContext
from pyspark.mllib.recommendation import ALS
from pyspark.sql import SQLContext
df = spark.read.format("com.mongodb.spark.sql.DefaultSource").load()

但我收到此错误

java.lang.NoClassDefFoundError:org / apache / spark / sql / DataFrame

我正在使用Spark 2.0和Mongo-spark-connector 2.11并定义了spark.mongodb.input.uri和spark.mongodb.output.uri

2 个答案:

答案 0 :(得分:0)

在定义spark.read.format

之前,您使用的是spark

正如您在Spark 2.1.0 documents

中所看到的

可以使用SparkSession创建DataFrame,将DataFrame注册为表,对表执行SQL,缓存表以及读取镶木地板文件。要创建SparkSession,请使用以下构建器模式:

spark = SparkSession.builder \
.master("local") \
.appName("Word Count") \
.config("spark.some.config.option", "some-value") \
.getOrCreate()

答案 1 :(得分:0)

我设法让它工作,因为我使用mongo-spark-connector_2.10-1.0.0而不是mongo-spark-connector_2.10-2.0.0