createDataFrame()在Spark中返回列表而不是DataFrame

时间:2016-04-08 11:22:54

标签: apache-spark dataframe pyspark apache-spark-sql

我正在运行Spark 1.5.1。在启动时,我Apply to worksheets可用Use as filter但是设置

HiveContext

我通过将字符串列表解析为JSON

来创建流水线RDD
sqlContext

然后我尝试使用

将其转换为数据框
sqlContext2 = SQLContext(sc)

这完全运行,但是当我运行data = points.map(lambda line: json.loads(line)) 时,它表示它是一个列表。

这怎么可能?列表如何来自DF = sqlContext2.createDataFrame(data).collect()

1 个答案:

答案 0 :(得分:1)

这是因为当您在DataFrame上应用collect()时,它会返回一个包含此DataFrame中所有元素(行)的列表。

如果您只想要一个DatFrame,df = sqlContext.createDataFrame(data)就足够了。

这里不需要sqlContext2