我想使用mongodb中的数据在Spark中创建LabeledPoint
。我可以通过以下方式从mongodb获取字段:
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db1 = client.newumc
collection1 = db.data_classification
q_2 = collection1.find({}, {'q2':1,'_id':0})
q_1 = collection1.find({}, {'q1':1,'_id':0})
q_38 = collection1.find({}, {'q38':1,'_id':0})
_result = collection.find({},{'qresultat':1,'_id':0})
其中q1
,q2
,q38
和qresultat
是来自mongodb(q1
,q2
,q38
的字段是功能,_result
是标签。)
但这对我不起作用:
lbpoint = LabeledPoint(result, array([q1, q2, q38]))
和类型(q2)是
pymongo.cursor.Cursor
任何人都可以帮助我,或者有人已经拥有mongodb的决策树代码。
答案 0 :(得分:0)
我通过使用
解决了这个问题spark = SparkSession \
.builder \
.appName("myApp") \
.config("spark.mongodb.input.uri", "mongodb://127.0.0.1/newumc.classification_data") \
.config("spark.mongodb.output.uri", "mongodb://127.0.0.1/newumc.classification_data") \
.getOrCreate()
df = spark.read.format("com.mongodb.spark.sql.DefaultSource").load()
column1 = df[1]
column2 = df[2]