创建数据帧()失败,无法找出原因



我正在尝试使用似乎是创建Spark DataFrames的规范" Hello World"来创建一个数据帧,并且无法理解其失败的原因。帮助!

from pyspark.sql.types import *
schema = StructType([StructField("product", StringType(), True)])
l = [('foo')]
rdd = sc.parallelize(l)
df = sqlContext.createDataFrame(rdd, schema)
df.show()

上面的代码下方抛出以下错误

ValueError: Unexpected tuple 'foo' with StructType`

代码基本上是直接从pyspark.sql模块上抬起。

那是因为Createataframe需要RDD [row]作为参数:

df = sqlContext.createDataFrame(rdd.map (lambda x: Row(x)), schema)

将为您提供正确的DataFrame

完整代码,测试的火花1.6:

from pyspark.sql.types import *
schema = StructType([StructField("product", StringType(), True)])
l = [('foo')]
rdd = sc.parallelize(l)
df = sqlContext.createDataFrame(rdd.map (lambda x: Row(x)), schema)
df.show()

相关内容

  • 没有找到相关文章