2017-04-04 92 views
0

我想pyspark本(上Databricks运行)连接到MongoDB中:PySpark的MongoDB/java.lang.NoClassDefFoundError:组织/阿帕奇/火花/ SQL /数据帧

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:组织/阿帕奇/火花/ SQL /数据帧

我使用火花2.0和蒙戈-火花连接器2.11和定义spark.mongodb.input.uri和spark.mongodb.output .uri

回答

0

您正在使用spark.read.format你定义spark

之前,你可以在Spark 2.1.0 documents

一个SparkSession看到可用于创建数据帧,登记数据帧表,执行SQL过表,缓存表,并读取拼花文件。要创建一个SparkSession,使用下面的生成器模式:

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

其实我使用Databricks和我已经有火花定义,我得到“<在0x7f25ac1ad6d0 pyspark.sql.session.SparkSession对象>”当我运行打印火花 – Pierre

0

我设法让,因为我是用蒙戈 - 火花connector_2.10-1.0.0代替蒙戈 - 火花connector_2.10-2.0工作0.0