加入具有复杂条件的spark数据集

时间:2018-04-12 05:40:40

标签: apache-spark join apache-spark-sql apache-spark-dataset

考虑如下bean:

class Bean {
  String id;
  String joinColumn;
}

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

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

1 个答案:

答案 0 :(得分:0)

  1. 执行var USNumber = '+1 (213) 435-4676'; // I think this should be the format of mobile number var zipcode = USNumber.split(" ")[1].replace("(", "").replace(")",""); alert(zipcode); var Areacode = USNumber.split(" ")[2].split("-")[0]; alert(Areacode); var Number = USNumber.split(" ")[2].split("-")[1]; alert(Number); - 成功加入的元素将包含来自两个DS的数据。其他将有NULL。
  2. 存储成功加入数据
  3. 从输出1
  4. 中筛选出已成功加入的元素
  5. 根据3
  6. 输出的条件修改字符串
  7. LEFT JOIN输出为4
  8. join输出5和2。