加入复杂条件的火花数据集

Posted

技术标签:

【中文标题】加入复杂条件的火花数据集【英文标题】:Join spark dataset with complex condition 【发布时间】:2018-04-12 05:40:39 【问题描述】:

考虑一个bean如下:

class Bean 
  String id;
  String joinColumn;

我有这个 Bean 的两个数据集,需要在 joinColumn 上加入,但加入的条件不等于。

我需要一个逻辑来比较 joinColumn 是否相等,如果不相等,则根据某些条件修改字符串并检查是否相等。使用dataset API应该怎么做?

【问题讨论】:

提供Minimal, Complete, and Verifiable example会很有用 【参考方案1】:
    执行LEFT JOIN- 成功加入的元素将拥有来自两个 DS 的数据。其他将有 NULL。 存储成功加入的数据 从 1 的输出中过滤出成功连接的元素 根据您对 3 输出的条件修改字符串 join 输出为 4 Union 5 和 2 的输出。

【讨论】:

以上是关于加入复杂条件的火花数据集的主要内容,如果未能解决你的问题,请参考以下文章

火花数据集过滤器列,条件如pandas

火花数据集的转换

按复杂标准合并/加入 2 个数据帧

Spark迭代/递归算法 - 打破火花谱系

火花数据集分组和总和

火花中的条件