Maxcompute中计算差集、交集和并集

阳光穿透心脏的1/2处 2022-04-24 01:30 469阅读 0赞

源表:portrait1和portrait2

代码:

  1. --1 差集
  2. CREATE TABLE IF NOT EXISTS analysis_except
  3. (
  4. uid BIGINT
  5. ) lifecycle ${lifecycle};
  6. set odps.stage.mapper.split.size= 1;
  7. INSERT OVERWRITE TABLE analysis_except
  8. SELECT u.uid from analysis_portrait1 u
  9. left join analysis_portrait2 v
  10. on u.uid=v.uid
  11. where v.uid is null;
  12. --2 交集
  13. CREATE TABLE IF NOT EXISTS analysis_intersect
  14. (
  15. uid BIGINT
  16. ) lifecycle ${lifecycle};
  17. set odps.stage.mapper.split.size= 1;
  18. INSERT OVERWRITE TABLE analysis_intersect
  19. SELECT u.uid FROM analysis_portrait1 u
  20. INTERSECT
  21. SELECT v.uid FROM analysis_portrait2 v;
  22. --3 并集
  23. CREATE TABLE IF NOT EXISTS analysis_union
  24. (
  25. uid BIGINT
  26. ) lifecycle ${lifecycle};
  27. set odps.stage.mapper.split.size= 1;
  28. INSERT OVERWRITE TABLE analysis_union
  29. SELECT u.uid FROM analysis_portrait1 u
  30. UNION
  31. SELECT v.uid FROM analysis_portrait2 v;

另外,非MYSQL的应该可以用 EXCEPT 来求差集。

发表评论

表情:
评论列表 (有 0 条评论,469人围观)

还没有评论,来说两句吧...

相关阅读