pyspark错误:'DataFrame'对象没有属性'map'

Xi *_*ang 4 apache-spark spark-dataframe apache-spark-2.0

我正在使用pyspark 2.0通过使用以下方法读取csv来创建DataFrame对象:

data = spark.read.csv('data.csv', header=True)
Run Code Online (Sandbox Code Playgroud)

我找到了使用的数据类型

type(data)
Run Code Online (Sandbox Code Playgroud)

结果是

pyspark.sql.dataframe.DataFrame
Run Code Online (Sandbox Code Playgroud)

我试图将数据中的一些列转换为LabeledPoint以应用分类.

from pyspark.sql.types import *    
from pyspark.sql.functions import loc
from pyspark.mllib.regression import LabeledPoint

data.select(['label','features']).
              map(lambda row:LabeledPoint(row.label, row.features))
Run Code Online (Sandbox Code Playgroud)

我遇到了这个问题:

AttributeError: 'DataFrame' object has no attribute 'map'
Run Code Online (Sandbox Code Playgroud)

对错误有任何想法吗?有没有办法从DataFrame生成LabelPoint才能执行分类?

小智 17

用途.rdd.map:

>>> data.select(...).rdd.map(...)
Run Code Online (Sandbox Code Playgroud)

DataFrame.map 已在Spark 2中删除.