【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战010--DateSet实用API详解010
来源:互联网 发布:js登录注册界面源代码 编辑:程序博客网 时间:2024/06/08 10:05
DateSet的API详解十
leftOuterJoin
def leftOuterJoin[O](other: DataSet[O], strategy: JoinHint): UnfinishedOuterJoinOperation[T, O]def leftOuterJoin[O](other: DataSet[O]): UnfinishedOuterJoinOperation[T, O]An outer join on the left side.左外连接。
leftOuterJoin示例一
执行程序:
//1.定义case classcase class Rating(name: String, category: String, points: Int)//2.定义 DataSet[Rating]val ratings: DataSet[Rating] = benv.fromElements(Rating("moon","youny1",3),Rating("sun","youny2",4),Rating("cat","youny3",1),Rating("dog","youny4",5),Rating("tiger","youny4",5))//3.定义DataSet[(String, String)] val movies: DataSet[(String, String)] = benv.fromElements(("moon","ok"),("dog","good"),("cat","notbad"),("sun","nice"),("water","nice"))//4.两个dataset进行左外连接,指定方法val result1 = movies.leftOuterJoin(ratings).where(0).equalTo("name"){ (m, r) => (m._1, if (r == null) -1 else r.points)}//5.显示结果result1.collect
执行结果:
res26: Seq[(String, Int)] = Buffer((moon,3), (dog,5), (cat,1), (sun,4), (water,-1))
web ui中的执行效果:
leftOuterJoin示例二
执行程序:
//1.定义case classcase class Rating(name: String, category: String, points: Int)//2.定义 DataSet[Rating]val ratings: DataSet[Rating] = benv.fromElements(Rating("moon","youny1",3),Rating("sun","youny2",4),Rating("cat","youny3",1),Rating("dog","youny4",5),Rating("tiger","youny4",5))//3.定义DataSet[(String, String)] val movies: DataSet[(String, String)] = benv.fromElements(("moon","ok"),("dog","good"),("cat","notbad"),("sun","nice"),("water","nice"))//4.两个dataset进行左外连接,指定连接暗示,并指定连接方法val result1 = movies.leftOuterJoin(ratings, JoinHint.REPARTITION_SORT_MERGE).where(0).equalTo("name"){ (m, r) => (m._1, if (r == null) -1 else r.points)}//5.显示结果result1 .collect
执行结果:
res26: Seq[(String, Int)] = Buffer((cat,1), (dog,5), (moon,3), (sun,4), (water,-1))
暗示项目说明:
左外连接支持以下项目: JoinHint.OPTIMIZER_CHOOSES JoinHint.BROADCAST_HASH_SECOND JoinHint.REPARTITION_HASH_SECOND JoinHint.REPARTITION_SORT_MERGE
rightOuterJoin
def rightOuterJoin[O](other: DataSet[O], strategy: JoinHint): UnfinishedOuterJoinOperation[T, O]def rightOuterJoin[O](other: DataSet[O]): UnfinishedOuterJoinOperation[T, O]An outer join on the right side.右外连接
rightOuterJoin示例一
执行程序:
//1.定义DataSet[(String, String)] val movies: DataSet[(String, String)] = benv.fromElements(("moon","ok"),("dog","good"),("cat","notbad"),("sun","nice"))//2.定义 DataSet[Rating]case class Rating(name: String, category: String, points: Int)val ratings: DataSet[Rating] = benv.fromElements(Rating("moon","youny1",3),Rating("sun","youny2",4),Rating("cat","youny3",1),Rating("dog","youny4",5))//3.两个dataset进行左外连接,指定连接方法val result1 = movies.rightOuterJoin(ratings).where(0).equalTo("name"){ (m, r) => (m._1, if (r == null) -1 else r.points)}//5.显示结果result1.collect
执行结果:
res33: Seq[(String, Int)] = Buffer((moon,3), (sun,4), (cat,1), (dog,5))
web ui中的执行效果:
rightOuterJoin示例二
执行程序:
//1.定义DataSet[(String, String)] val movies: DataSet[(String, String)] = benv.fromElements(("moon","ok"),("dog","good"),("cat","notbad"),("sun","nice"))//2.定义 DataSet[Rating]case class Rating(name: String, category: String, points: Int)val ratings: DataSet[Rating] = benv.fromElements(Rating("moon","youny1",3),Rating("sun","youny2",4),Rating("cat","youny3",1),Rating("dog","youny4",5))//3.两个dataset进行左外连接,暗示连接方式,指定连接方法val result1 = movies.rightOuterJoin(ratings,JoinHint.BROADCAST_HASH_FIRST).where(0).equalTo("name"){ (m, r) => (m._1, if (r == null) -1 else r.points)}//5.显示结果result1.collect
执行结果:
res34: Seq[(String, Int)] = Buffer((moon,3), (sun,4), (cat,1), (dog,5))
暗示项目说明:
左外连接支持以下项目: JoinHint.OPTIMIZER_CHOOSES JoinHint.BROADCAST_HASH_FIRST JoinHint.REPARTITION_HASH_FIRST JoinHint.REPARTITION_SORT_MERGE
阅读全文
0 0
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战010--DateSet实用API详解010
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战001--DateSet实用API详解001
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战002--DateSet实用API详解002
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战003--DateSet实用API详解003
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战004--DateSet实用API详解004
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战005--DateSet实用API详解005
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战006--DateSet实用API详解006
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战007--DateSet实用API详解007
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战008--DateSet实用API详解008
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战009--DateSet实用API详解009
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战011--DateSet实用API详解011
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战012--DateSet实用API详解012
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战013--DateSet实用API详解013
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战014--DateSet实用API详解014
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战015--DateSet实用API详解015
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战016--DateSet实用API详解016
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战017--DateSet实用API详解017
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战018--DateSet实用API详解018
- 面试题之“度度熊”
- android调用dialog.hide()引起的输入事件派发错误问题追踪
- java所支持的国家和语音
- 继浸没液冷后,阿里再推国内首个锂电池服务器
- Minimum Depth of Binary Tree
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战010--DateSet实用API详解010
- 通过platform data 管理gpio资源--drv
- Ubuntu17.04+1080ti+cuda9+cudnn7+tensorflow1.4/1.3配置
- 【C#】类
- ADAS的公司分析对比--人工智能(辅助驾驶)
- Android自定义SeekBar,滑动时弹出气泡指示器显示进度
- Syntax error, parameterized types are only available if source level is 1.5
- Linux设备模型(3)_Uevent
- UE4入门-常见的宏-UCLASS