【发布时间】:2021-09-08 00:03:18
【问题描述】:
我想从 python 字典创建一个 pyspark 数据框,但是下面的代码
from pyspark.sql import SparkSession, Row
df_stable = spark.createDataFrame(dict_stable_feature)
df_stable.show()
显示此错误
TypeError: Can not infer schema for type: <class 'str'>
在 stackoverflow 上阅读这篇文章:
Pyspark: Unable to turn RDD into DataFrame due to data type str instead of StringType
我可以推断出问题可能是我错误地使用了 python 标准 str 而不是 StringType 并且 spark 不喜欢它。 我该怎么做才能让它发挥作用??
编辑:
我使用此代码创建了我的字典
Create multiple lists and store them into a dictionary Python
如您所见,创建密钥是在做
cc = str(col)
vv = "_" + str(value)
cv = cc + vv
dict_stable_feature[cv] = t
而t 只是1 和0 的二进制列表。
【问题讨论】:
-
字典中每个键的值的数据类型是什么?它们是标量/单个值还是复杂类型,例如列表/对象?每个键应该是数据框中的新列还是行中的值?您能否与您的字典分享示例代码以及您预期的数据框表应该是什么样的?
-
我发布了一些其他信息!
标签: string apache-spark dictionary pyspark apache-spark-sql