【问题标题】:pyspark AttributeError: 'DataFrame' object has no attribute 'toDF'pyspark AttributeError:“DataFrame”对象没有属性“toDF”
【发布时间】:2016-11-30 09:23:26
【问题描述】:

以下代码以前对我有用,但现在不行了。我得到了错误:

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()

【问题讨论】:

标签: dataframe pyspark


【解决方案1】:

我想通了。看起来它与我们的 spark 版本有关。它适用于 1.6

【讨论】:

    【解决方案2】:

    如果您使用的是 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 在本例中是行标题。

    【讨论】:

      猜你喜欢
      • 2015-12-23
      • 1970-01-01
      • 2013-10-23
      • 2023-02-10
      • 2017-01-24
      • 2018-10-10
      • 2019-08-18
      • 2021-01-20
      相关资源
      最近更新 更多