创建DataFrame时Spark报错

时间:2018-09-11 20:54:55

标签: apache-spark hadoop pyspark-sql

我已经下载了Spark版本2.3.1,hadoop版本2.7和Java jdk 8。 对于简单的练习,一切正常,但是当我尝试创建数据框时。它开始虽然错误。 以下代码运行无误。

import numpy as np

TOTAL = 1000000
dots = sc.parallelize([2.0 * np.random.random(2) - 1.0 for i in range(TOTAL)]).cache()
print("Number of random points:", dots.count())

stats = dots.stats()
print('Mean:', stats.mean())
print('stdev:', stats.stdev())

但是当我尝试以下代码时,要求输入更改为数据框

df = sc.parallelize([Row(name='ab',age=20), Row(name='ab',age=20)]).toDF() 

它引发以下错误 enter image description here

1 个答案:

答案 0 :(得分:0)

您缺少Row的导入。

from pyspark.sql import Row
df = sc.parallelize([Row(name='ab',age=20), Row(name='ab',age=20)]).toDF() 
df.show()

结果:

+---+----+
|age|name|
+---+----+
| 20|  ab|
| 20|  ab|
+---+----+