【问题标题】:Join and map 2 RDDs conditionally有条件地加入和映射 2 个 RDD
【发布时间】:2017-03-07 17:17:53
【问题描述】:

我有 2 个 RDD 需要加入

val rdd1 = RDD[(v_id, inputObject1)]

其中 v_id 是唯一 ID

并且 inputObject1 有以下字段

g_id, p_id, timestamp=t1

现在我有另一个 RDD

val rdd2 = RDD[(g_id, inputObject2)]

其中 inputObject2 有以下字段

p_id, timestamp=t2, e_id

现在我想在以下条件下加入这两个 RDD

  • 如果g_id 和p_id 相同并且|t1-t2|
  • 否则,如果 g_id 相同且 |t1 - t2|

因此,如果第一个条件不满足,则第二个条件是回退。我的最终输出应该是这样的

val resuldRDD = RDD[(v_id, inputObject11)]

其中 inputObject11 = inputObject1 + 如果满足条件,则从第二个 RDD 添加 e_id。

所以字段将是

g_id, p_id, e_id, timestamp=t1

【问题讨论】:

  • 不确定您是否可以有条件加入。您可以通过 id 加入,然后根据任何条件进行过滤。

标签: scala apache-spark rdd


【解决方案1】:
猜你喜欢
  • 2022-11-17
  • 1970-01-01
  • 1970-01-01
  • 2021-12-02
  • 2018-04-22
  • 2015-12-08
  • 1970-01-01
  • 1970-01-01
  • 2018-12-21
相关资源
最近更新 更多