gpt4 book ai didi

apache-spark - pyspark.sql.utils.AnalysisException : Parquet data source does not support void data type

转载 作者:行者123 更新时间:2023-12-05 03:17:33 31 4
gpt4 key购买 nike

我正在尝试在 PySpark 中的数据框 df1 中添加一列。

我试过的代码:

import pyspark.sql.functions as F
df1 = df1.withColumn("empty_column", F.lit(None))

但是我得到这个错误:

pyspark.sql.utils.AnalysisException: Parquet data source does not support void data type.

谁能帮我解决这个问题?

最佳答案

不只是F.lit(None),而是将它与cast 和适当的数据类型一起使用。例如:

F.lit(None).cast('string')
F.lit(None).cast('double')

当我们添加一个文字空列时,它的数据类型是void:

from pyspark.sql import functions as F
spark.range(1).withColumn("empty_column", F.lit(None)).printSchema()
# root
# |-- id: long (nullable = false)
# |-- empty_column: void (nullable = true)

但当保存为 parquet 文件时,不支持 void 数据类型,因此此类列必须cast 为其他数据类型。

关于apache-spark - pyspark.sql.utils.AnalysisException : Parquet data source does not support void data type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74115918/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com