考虑以下数据帧。在这里,我希望将映射数组合并到一个映射中,而不使用 UDF。
+---+------------------------------------+
|id |greek |
+---+------------------------------------+
|1 |[{alpha -> beta}, {gamma -> delta}] |
|2 |[{epsilon -> zeta}, {etha -> theta}]|
+---+------------------------------------+
Run Code Online (Sandbox Code Playgroud)
我想我已经尝试了pyspark 3 文档中的所有映射功能。我以为我能够做到,但它只是抛出一个异常,它说它需要地图而不是地图数组?map_from_entries
尽管我知道使用 UDF 可以轻松完成此操作,但我很难相信没有更简单的方法吗?
from pyspark.sql import SparkSession
spark = (
SparkSession
.builder
.getOrCreate()
)
df = spark.createDataFrame([
(1, [{"alpha": "beta"}, {"gamma": "delta"}]),
(2, [{"epsilon": "zeta"}, {"etha": "theta"}])
],
schema=["id", "greek"]
)
Run Code Online (Sandbox Code Playgroud) 我想要一个只是一个完整的门垫的课程。如果我使用任何参数或任何其他属性调用任何方法,它应该什么都不做。
也就是说,给定一个名为Gobble:
gbl=Gobble()
gbl.foo.bar().asdf
Run Code Online (Sandbox Code Playgroud)
应该没事。