【发布时间】:2018-08-24 16:09:01
【问题描述】:
DataFrame 1 是我现在拥有的,我想编写一个 Scala 函数来使 DataFrame 1 看起来像 DataFrame 2。
转让是大类;电子转账和 IMT 是子类别。
逻辑是对于同一个ID(31898),如果Transfer和e-Transfer都标记了它,它应该只是e-Transfer;如果 Transfer 和 IMT 和 e-Transfer 都标记为同一个 ID(32614),则应为 e-Transfer + IMT;如果只是Transfer tagged to one ID (33987),应该是Other;如果仅 e-Transfer 或 IMT 标记为 ID (34193),则应该只是 e-transfer pr IMT。
刚接触scala,不知道如何编写一个好的函数来做到这一点。请帮忙!!
DataFrame 1 DataFrame 2
+---------+-------------+ +---------+------------------+
| ID | Category | | ID | Category |
+---------+-------------+ +---------+------------------+
| 31898 | Transfer | | 31898 | e-Transfer |
| 31898 | e-Transfer | | 32614 | e-Transfer + IMT|
| 32614 | Transfer | =====> | 33987 | Other |
| 32614 | e-Transfer | =====> | 34193 | e-Transfer |
| 32614 | IMT | +---------+------------------+
| 33987 | Transfer |
| 34193 | e-Transfer |
+---------+-------------+
【问题讨论】:
标签: scala apache-spark dataframe user-defined-functions