【问题标题】:Filter Dataframe rows for Maptype Keys过滤 Maptype 键的 Dataframe 行
【发布时间】:2018-05-08 02:57:23
【问题描述】:

我有一个带有 MapType 列的 DataFrame,我想过滤不包含某个键的行。

例如这里是我的数据:

val ds = Seq(
     |   (1, Map("foo" -> (1, "a"), "bar" -> (2, "b"))),
     |   (2, Map("foo" -> (3, "c"))),
     |   (3, Map("bar" -> (4, "d")))
     | ).toDF("id", "alpha")

如何筛选仅包含“bar”作为键的行?如果我想过滤包含“bar”并且它们的值不为空的行怎么办?

谢谢!

【问题讨论】:

    标签: scala apache-spark apache-spark-sql spark-dataframe


    【解决方案1】:

    这是一个过滤器,其中您的地图包含键“bar”作为具有非空值的键:

    dataFrame.filter(col("alpha").getItem("bar").isNotNull)
    

    【讨论】:

      猜你喜欢
      • 2021-12-09
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2017-03-28
      • 2013-09-02
      • 2013-07-01
      • 1970-01-01
      • 2020-03-16
      相关资源
      最近更新 更多