以下代码对我有用,但不再适用。我收到了错误:
AttributeError:' DataFrame'对象没有属性' toDF'
if __name__ == "__main__":
sc = SparkContext(appName="test")
sqlContext = SQLContext(sc)
df = sqlContext.read.format('com.databricks.spark.csv').\
options(header='false',delimiter=',',inferSchema='true').load('test')
### rename columns
df = df.toDF('a','b','c')
...
sc.stop()
答案 0 :(得分:1)
我明白了。看起来它与我们的火花版本有关。它适用于1.6
答案 1 :(得分:0)
如果您使用的是Spark 1.6版,请使用此代码将rdd转换为df
from pyspark.sql import SQLContext, Row
sqlContext = SQLContext(sc)
df = sqlContext.createDataFrame(rdd)
如果您想为行分配标题,请使用此
df= rdd.map(lambda p: Row(ip=p[0], time=p[1], zone=p[2]))
ip,time,zone是此示例中的行标题。