【发布时间】:2021-12-05 16:41:51
【问题描述】:
我在 python 中有这样的 json:
example = [{"col1":"","col2":"","col3":52272}, ...]
json 的列可能为空。空值为 ""。
我创建了 spark 架构:
schema = StructType([
StructField("col1", LongType(), True),
StructField("col2", LongType(), True),
StructField("col3", LongType(), True),]
我尝试像这样获取 spark 数据帧:
pandas_df = pd.DataFrame(example)
spark_df = spark.createDataFrame(pandas_df, schema = schema)
但我得到了那个错误:
TypeError: field col1: LongType can not accept object '' in type <class 'str'>
什么解决了这个错误? 如果我使用此列的其他类型,也会发生同样的错误。
【问题讨论】:
-
您为 long 类型编写了一个模式,但使用的数据是空字符串
""。这需要转换为整数。您想使用什么值?或者您想完全排除这些数据?
标签: python json pandas pyspark