ar_*_*m18 10 types void apache-spark parquet pyspark
我正在尝试在 PySpark 的数据框中添加一列df1。
我尝试过的代码:
import pyspark.sql.functions as F
df1 = df1.withColumn("empty_column", F.lit(None))
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误:
pyspark.sql.utils.AnalysisException:Parquet 数据源不支持 void 数据类型。
谁能帮我这个?
Zyg*_*ygD 13
而不仅仅是F.lit(None),请将其与 acast和适当的数据类型一起使用。例如:
F.lit(None).cast('string')
Run Code Online (Sandbox Code Playgroud)
F.lit(None).cast('double')
Run Code Online (Sandbox Code Playgroud)
当我们添加文字空列时,它的数据类型为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)
Run Code Online (Sandbox Code Playgroud)
但是,当保存为 parquet 文件时,不支持voidcast数据类型,因此此类列必须是其他数据类型。
| 归档时间: |
|
| 查看次数: |
14840 次 |
| 最近记录: |