【发布时间】:2021-12-09 23:20:03
【问题描述】:
类似于this question 我想向我的 pyspark DataFrame 添加一列,其中只包含一个空地图。但是,如果我使用该问题的建议答案,则地图类型为 <null,null>,与那里发布的答案不同。
from pyspark.sql.functions import create_map
spark.range(1).withColumn("test", create_map()).printSchema()
root
|-- test: map(nullable = false)
| |-- key: null
| |-- value: null (valueContainsNull = false)
我需要一张空的<string,string> 地图。我可以在 Scala 中这样做:
import org.apache.spark.sql.functions.typedLit
spark.range(1).withColumn("test", typedLit(Map[String, String]())).printSchema()
root
|-- test: map(nullable = false)
| |-- key: string
| |-- value: string (valueContainsNull = true)
如何在 pyspark 中做到这一点?我在 Databricks Runtime 7.3 LTS 上使用 Spark 3.01 和底层 Scala 2.12。我需要<string,string> 地图,否则我无法将数据框保存到镶木地板:
AnalysisException: Parquet data source does not support map<null,null> data type.;
【问题讨论】:
标签: apache-spark pyspark