1
我有一個數據集與下面的模式星火合併兩個單值數據集
|-- Name: string (nullable = true)
|-- Values: long (nullable = true)
|-- Count: integer (nullable = true)
輸入數據集
+------------+-----------------------+--------------+
|Name |Values |Count |
+------------+-----------------------+--------------+
|A |1000 |1 |
|B |1150 |0 |
|C |500 |3 |
+------------+-----------------------+--------------+
我的結果數據集需要是格式
+------------+-----------------------+--------------+
|Sum(count>0)| sum(all) | Percentage |
+------------+-----------------------+--------------+
| 1500 | 2650 | 56.60 |
+------------+-----------------------+--------------+
我的我目前能夠通過運行
獲得單個數據集中的總和(計數> 0)和總和(全部)val non_zero = df.filter(col(COUNT).>(0)).select(sum(VALUES).as(NON_ZERO_SUM))
val total = df.select(sum(col(VALUES)).as(TOTAL_SUM))
我不知道該怎麼做才能將兩個獨立的數據集合併到一個數據集中,並用它來計算百分比。
也可以通過更好的方式解決這個相同的問題?
感謝,
這個工作!非常感謝 :) – Vignesh