【发布时间】:2017-04-25 17:52:16
【问题描述】:
鉴于我的 pyspark Row 对象:
>>> row
Row(clicked=0, features=SparseVector(7, {0: 1.0, 3: 1.0, 6: 0.752}))
>>> row.clicked
0
>>> row.features
SparseVector(7, {0: 1.0, 3: 1.0, 6: 0.752})
>>> type(row.features)
<class 'pyspark.ml.linalg.SparseVector'>
但是,row.features 未能通过 isinstance(row.features,Vector) 测试。
>>> isinstance(SparseVector(7, {0: 1.0, 3: 1.0, 6: 0.752}), Vector)
True
>>> isinstance(row.features, Vector)
False
>>> isinstance(deepcopy(row.features), Vector)
False
这个奇怪的错误给我带来了巨大的麻烦。如果不传递“isinstance(row.features, Vector)”,我将无法使用 map 函数生成 LabeledPoint。 如果有人能解决这个问题,我将不胜感激。
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql apache-spark-mllib apache-spark-ml