【问题标题】:how can i get field by field from mongodb and put it into labeledpoint我如何从 mongodb 逐个字段获取并将其放入标记点
【发布时间】:2018-08-30 08:09:01
【问题描述】:

我想使用来自 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})

其中q1q2q38qresultat 是来自 mongodb 的字段(q1q2q38 是特征,_result 是标签)。

但这对我不起作用:

lbpoint =  LabeledPoint(result, array([q1, q2, q38]))

并且类型(q2)是

pymongo.cursor.Cursor

任何人都可以帮助我,或者如果有人已经有一些决策树代码与 mongodb。

【问题讨论】:

    标签: mongodb apache-spark machine-learning label decision-tree


    【解决方案1】:

    我通过使用解决了这个问题

    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]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-26
      • 1970-01-01
      • 2020-05-09
      • 2019-06-20
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多