【发布时间】:2017-05-07 15:07:37
【问题描述】:
我使用的是 Spark 1.6,我想知道如何在数据帧中实现查找。
我有两个数据框员工和部门。
-
员工数据框
------------------- Emp Id | Emp Name ------------------ 1 | john 2 | David -
部门数据框
-------------------- Dept Id | Dept Name | Emp Id ----------------------------- 1 | Admin | 1 2 | HR | 2
我想从员工表中查找 emp id 到部门表并获取部门名称。因此,结果集将是
Emp Id | Dept Name
-------------------
1 | Admin
2 | HR
如何在 SPARK 中实现这个查找 UDF 功能。我不想在两个数据帧上都使用 JOIN。
【问题讨论】:
-
你需要的是“加入”两个数据帧......如果一个非常小,请使用广播加入。
-
到目前为止你有什么代码示例吗?
-
这就是
join的意思。尝试通过其他方式实现这一点的原因是什么? -
我已经使用join实现了。但我也想探索使用查找概念(只是为了学习并了解实现和性能的差异)。有人知道吗?
-
您可以将您的数据帧转换为
PairRDD(例如,提供lookup方法的RDD[(Int,String)]))
标签: scala apache-spark apache-spark-sql user-defined-functions