【问题标题】:UDF take two parameter spark data frame [duplicate]UDF取两个参数spark数据帧[重复]
【发布时间】:2018-10-19 17:26:46
【问题描述】:

原始数据框

+------+--------+
|  name| country|
+------+--------+
|Raju  |UAS     |
|Ram   |Pak     |
|null  |China   |
|null  |null    |
+------+--------+

  I Need  this 
+------+--------+
|Namwet|wet Con |
+------+--------+
|0.2   | 0.3    |
|0.2   | 0.3    |
|0.0   | 0.3    |
|0.0   | 0.0    |
+------+--------+

我想为两列创建一个 Udf 这将应用于 Name Column 它检查它们,如果它不为 null 那么它应该返回 0.2,否则应该返回 0.0 。 并且相同的 Udf 适用于国家列检查它是否返回 0.0 。不为 null 则返回 0.3

【问题讨论】:

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


    【解决方案1】:

    你不需要 udf。

    你可以这样做

    df
      .select(
        when($"name".isNotNull, 0.2).otherwise(0.0).as("Namewet"),
        when($"country".isNotNull, 0.3).otherwise(0.0).as("wet Con"),
        // Select more columns as required)
    

    【讨论】:

    • 如果我有超过 15 列。那么
    • 查看上面的编辑代码
    猜你喜欢
    • 2019-02-01
    • 2018-09-17
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 2023-01-09
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多