【问题标题】:Filtering out rows of a table bassed on a column根据列过滤掉表中的行
【发布时间】:2018-01-16 23:53:21
【问题描述】:

我正在尝试根据列 value 过滤掉表 rows

我有一个dataframe

+---+-----+
|id |value|
+---+-----+
|3  |0    |
|3  |1    |
|3  |0    |
|4  |1    |
|4  |0    |
|4  |0    |
+---+-----+

我想创建一个新的dataframe 删除所有rowsvalue!=0

+---+-----+
|id |value|
+---+-----+
|3  |0    |
|3  |0    |
|4  |0    |
|4  |0    |
+---+-----+

我认为语法应该是这样的,但不能正确:

val newDataFrame = OldDataFrame.filter($"value"==0)

【问题讨论】:

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


    【解决方案1】:

    正确的方法如下。您只是忘记添加一个 = 符号

    val newDataFrame = OldDataFrame.filter($"value" === 0)
    

    【讨论】:

      【解决方案2】:

      它们有多种过滤方式。

      1. val newDataFrame = OldDataFrame.filter($"value"===0)

      2. val newDataFrame = OldDataFrame.filter(OldDataFrame("value") === 0)

      3. val newDataFrame = OldDataFrame.filter("value === 0")

      您也可以使用where 函数代替filter

      【讨论】:

        猜你喜欢
        • 2022-12-09
        • 1970-01-01
        • 2022-01-03
        • 1970-01-01
        • 2018-11-09
        • 2019-09-20
        • 1970-01-01
        • 1970-01-01
        • 2022-11-22
        相关资源
        最近更新 更多