代码:
# pandas df -> pyspark df
schema = T.StructType([
T.StructField("source_item", T.StringType(), True),
T.StructField("tk_item_code", T.StringType(), True),
T.StructField("tk_item_name", T.StringType(), True)
])
map_items_py = spark.createDataFrame(map_items, schema)
print(map_items_py.count())
报错:

分析:
序列化的时候报错。
分析下pandas的dataframe,发现数据有空值,而且这个空值很奇怪:

初步认为是这个空值的特殊格式导致的。(因为一般来说,及时有空值也不应导致转pyspark dataframe错误)
删掉pandas的空值后,再转pyspark,成功。
在尝试将Pandas DataFrame转换为PySpark DataFrame时遇到序列化错误,原因是原始数据中存在特殊格式的空值。分析Pandas DataFrame后发现这些空值可能导致转换失败。删除这些空值后,转换过程顺利完成。问题的关键在于识别和处理这种特殊格式的空值,以确保数据在不同框架间顺利迁移。
15万+

被折叠的 条评论
为什么被折叠?



