无法在 PySpark 中创建数据框
Posted
技术标签:
【中文标题】无法在 PySpark 中创建数据框【英文标题】:Cannot create Dataframe in PySpark 【发布时间】:2018-10-01 07:13:26 【问题描述】:我想使用以下代码在 PySpark 中创建一个 Dataframe
from pyspark.sql import *
from pyspark.sql.types import *
temp = Row("DESC", "ID")
temp1 = temp('Description1323', 123)
print temp1
schema = StructType([StructField("DESC", StringType(), False),
StructField("ID", IntegerType(), False)])
df = spark.createDataFrame(temp1, schema)
但我收到以下错误:
TypeError: StructType 不能接受类型中的对象“Description1323” 输入'str'
我的代码有什么问题?
【问题讨论】:
【参考方案1】:问题是你传递了一个Row
,你应该传递一个Row
s 的列表。试试这个:
from pyspark.sql import *
from pyspark.sql.types import *
temp = Row("DESC", "ID")
temp1 = temp('Description1323', 123)
print temp1
schema = StructType([StructField("DESC", StringType(), False),
StructField("ID", IntegerType(), False)])
df = spark.createDataFrame([temp1], schema)
df.show()
结果:
+---------------+---+
| DESC| ID|
+---------------+---+
|Description1323|123|
+---------------+---+
【讨论】:
以上是关于无法在 PySpark 中创建数据框的主要内容,如果未能解决你的问题,请参考以下文章