小编And*_*man的帖子

使用内置函数将 Spark SQL 中的一组映射合并/连接成一个映射

考虑以下数据帧。在这里,我希望将映射数组合并到一个映射中,而不使用 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 可以轻松完成此操作,但我很难相信没有更简单的方法吗?

可运行的Python代码

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)

apache-spark apache-spark-sql pyspark

5
推荐指数
1
解决办法
3255
查看次数

创建一个不执行任何操作的类

我想要一个只是一个完整的门垫的课程。如果我使用任何参数或任何其他属性调用任何方法,它应该什么都不做。

也就是说,给定一个名为Gobble

gbl=Gobble()
gbl.foo.bar().asdf
Run Code Online (Sandbox Code Playgroud)

应该没事。

python class

3
推荐指数
1
解决办法
321
查看次数

标签 统计

apache-spark ×1

apache-spark-sql ×1

class ×1

pyspark ×1

python ×1