Skip to content

Commit d6b3f6e

Browse files
author
ShiShusheng
committed
指定key的key选择器函数
1 parent 9eb5112 commit d6b3f6e

4 files changed

Lines changed: 54 additions & 36 deletions

File tree

README.md

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,6 @@
1-
# 0 Flink 从入门到实战
2-
#### 新一代风靡全球的大数据计算引擎
1+
# 0 Flink 从入门到实战 - Scala版本
32

4-
#### 阿里巴巴等众多公司引领的Flink 风潮,让会Flink 的人才供不应求,抢手之极
5-
6-
# 1 Java/Scala 双语言教程,为你带来不一样的Flink教程
7-
Flink 正处于升温期,抢先一步掌握它,你就会在大数据行业抢先崛起
8-
9-
## 1.1 Flink零基础 带你从入门到实战
10-
不怕你毫无Flink基础,体系化的教程内容
11-
让你循序渐进,入门企业级开发
12-
13-
## 1.2 紧密结合Flink官网内容讲解
14-
拒绝二手货,紧密结合官网,让你学到原汁原味的一手内容
15-
16-
## 1.3 带着行业经验讲解技术知识
17-
真正从实践角度教你能应用于实践的知识
18-
19-
## 1.4 Scala/Java双语言教学讲解
20-
采用双语言讲解Flink核心知识,让你学习更加轻松
21-
22-
# 2 Java/Scala双语言实操实练,带你全面掌握Flink核心知识
3+
# 1 核心知识点
234
![](https://upload-images.jianshu.io/upload_images/16782311-dc4156dc0a34d557.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
245
## 编程模型及核心概念
256
Flink中的DataSet & DataStream
@@ -98,12 +79,11 @@ Flink常见的监控方式
9879

9980
常见的Flink调优策略
10081

101-
# 3 实战项目:基于Flink的互联网直播平台日志分析
102-
#### 掌握了Flink 核心知识后,实战自然必不可少,逐行代码带你实战
82+
# 2 实战项目:基于Flink的互联网直播平台日志分析
10383
#### 互联网直播平台日志分析(以Scala语言开发)
10484
![](https://upload-images.jianshu.io/upload_images/16782311-ff3bd3a8d89089ba.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
10585

106-
# 4 Flink的火爆不是随便说说,以下知名公司都在使用Flink
86+
# 3 以下知名公司都在使用Flink
10787
![](https://upload-images.jianshu.io/upload_images/16782311-9447a7c96178832b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
10888

10989
# X 交流学习
@@ -114,6 +94,4 @@ Flink常见的监控方式
11494

11595
## [博客](http://www.shishusheng.com)
11696

117-
![](https://upload-images.jianshu.io/upload_images/16782311-b4ec7ff8790e19a4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
118-
11997
## [Github](https://github.com/Wasabi1234)

src/main/scala/com/javaedge/scala/chapter2/BatchWCScalaApp.scala renamed to src/main/scala/com/javaedge/scala/chapter1/BatchWCApp.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.javaedge.scala.chapter2
1+
package com.javaedge.scala.chapter1
22

33
import org.apache.flink.api.scala.ExecutionEnvironment
44

@@ -7,7 +7,7 @@ import org.apache.flink.api.scala.ExecutionEnvironment
77
* @date 2019-05-04
88
*
99
*/
10-
object BatchWCScalaApp {
10+
object BatchWCApp {
1111

1212
def main(args: Array[String]): Unit = {
1313

@@ -17,7 +17,6 @@ object BatchWCScalaApp {
1717

1818
val text = env.readTextFile(input)
1919

20-
// text.print()
2120
// 引入隐式转换
2221
import org.apache.flink.api.scala._
2322
text.flatMap (_.toLowerCase.split("\t"))

src/main/scala/com/javaedge/scala/chapter2/StreamingWCScalaApp.scala renamed to src/main/scala/com/javaedge/scala/chapter1/StreamingWCApp.scala

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.javaedge.scala.chapter2
1+
package com.javaedge.scala.chapter1
22

33
import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
44
import org.apache.flink.streaming.api.windowing.time.Time
@@ -8,26 +8,29 @@ import org.apache.flink.streaming.api.windowing.time.Time
88
* @date 2019-05-04
99
*
1010
*/
11-
object StreamingWCScalaApp {
11+
object StreamingWCApp {
1212

1313
def main(args: Array[String]) {
1414

1515
val env = StreamExecutionEnvironment.getExecutionEnvironment
1616

17+
StreamExecutionEnvironment.createLocalEnvironment()
18+
1719
// 引入隐式转换
1820
import org.apache.flink.api.scala._
1921

20-
val text = env.socketTextStream("localhost", 9999)
22+
val text = env.socketTextStream("localhost", 9999)
2123

2224
text.flatMap(_.split(","))
2325
.map((_, 1))
2426
.keyBy(0)
25-
.timeWindow(Time.seconds(5))
26-
.sum(1)
27-
.print()
28-
.setParallelism(1)
27+
.timeWindow(Time.seconds(5))
28+
.sum(1)
29+
.print()
30+
.setParallelism(1)
2931

3032
env.execute("StreamingWCScalaApp")
3133
}
3234
}
3335

36+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.javaedge.scala.chapter2
2+
3+
import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
4+
import org.apache.flink.streaming.api.windowing.time.Time
5+
6+
/**
7+
* @author JavaEdge
8+
* @date 2019-05-04
9+
*
10+
*/
11+
object StreamingWCScalaApp {
12+
13+
def main(args: Array[String]) {
14+
15+
val env = StreamExecutionEnvironment.getExecutionEnvironment
16+
17+
StreamExecutionEnvironment.createLocalEnvironment()
18+
19+
// 引入隐式转换
20+
import org.apache.flink.api.scala._
21+
22+
val text = env.socketTextStream("localhost", 9999)
23+
24+
text.flatMap(_.split(","))
25+
.map(x => WC(x.toLowerCase(),1)) // WC(word,count)
26+
.keyBy(_.word)
27+
.timeWindow(Time.seconds(5))
28+
.sum("count")
29+
.print()
30+
.setParallelism(1)
31+
32+
env.execute("StreamingWCApp")
33+
}
34+
35+
case class WC(word: String, count: Int)
36+
}
37+
38+

0 commit comments

Comments
 (0)