1

我正在尝试将 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

4

2 回答 2

0

spark.read.format在定义之前使用spark

如您在Spark 2.1.0 文档中所见

SparkSession 可用于创建 DataFrame、将 DataFrame 注册为表、在表上执行 SQL、缓存表和读取 parquet 文件。要创建 SparkSession,请使用以下构建器模式:

spark = SparkSession.builder \
.master("local") \
.appName("Word Count") \
.config("spark.some.config.option", "some-value") \
.getOrCreate()
于 2017-04-04T13:05:03.210 回答
0

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

于 2017-04-04T13:42:56.823 回答