diff --git a/chapter3/3.1对军事类数据的查询次数进行实时统计分析.md b/chapter3/3.1对军事类数据的查询次数进行实时统计分析.md index 41f6204..89b78e2 100644 --- a/chapter3/3.1对军事类数据的查询次数进行实时统计分析.md +++ b/chapter3/3.1对军事类数据的查询次数进行实时统计分析.md @@ -5,7 +5,9 @@ Spark Streaming 是一套优秀的实时计算框架。其良好的可扩展性 Spark Streaming 有高扩展性、高吞吐量和容错能力强的特点。Spark Streaming 支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ 和简单的 TCP 套接字等等。数据输入后可以用 Spark 的高度抽象原语如:map、reduce、join、window 等进行运算。而结果也能保存在很多地方,如 HDFS,数据库等。另外 Spark Streaming 也能和 MLlib(机器学习)以及 Graphx 完美融合。其架构见下图: -![](https://www.educoder.net/api/attachments/462367) +

+ +

Spark Streaming 其优秀的特点给我们带来很多的应用场景。本文中,将通过从kafka获取用户行为来为大家进行介绍。场景流程如下: - 读取 Kafka 实时数据; @@ -20,14 +22,19 @@ Spark Streaming 其优秀的特点给我们带来很多的应用场景。本文 结构化流(Structed streaming)中的关键思想是将实时数据流视为连续追加的表 -![](https://www.educoder.net/api/attachments/375945) +

+ +

+ 程序模型: 每个触发(Triggers)间隔(例如,每`1`秒)将新行附加到输入表,经查询产生结果表,并最终写入外部Sink。 -![](https://www.educoder.net/api/attachments/375947) +

+ +

### 3.1.4 创建流式Dataframe的说明 `Spark2.0`以后,`DataFrames`和`Datasets`不仅可以用于`sparksql`中表示静态有界的数据,而且可以在`Structer streaming`中表示流式无界数据。我们可以通过`SparkSession.readStream()`创建流式`DataFrames`; diff --git a/chapter3/3.2对军事类数据的查询次数进行可视化展示.md b/chapter3/3.2对军事类数据的查询次数进行可视化展示.md index 30b908c..d8e08d7 100644 --- a/chapter3/3.2对军事类数据的查询次数进行可视化展示.md +++ b/chapter3/3.2对军事类数据的查询次数进行可视化展示.md @@ -34,7 +34,9 @@ Offset :Kafka 的存储文件都是按照 Offset . index 来命名,用Offset ### 3.1.3 Kafka 架构组件 Kafka 中发布订阅的对象是 Topic。我们可以为每类数据创建一个 Topic ,把向 Topic 发布消息的客户端称作 Producer ,从 Topic 订阅消息的客户端称作 Consumer 。Producers 和 Consumers 可以同时从多个 Topic 读写数据。一个 Kafka 集群由一个或多个 Broker 服务器组成,它负责持久化和备份具体的 Kafka 消息。 -![](https://www.educoder.net/api/attachments/293503) +

+ +

### 3.1.4 kafka 常用命令 diff --git a/chapter3/3流数据计算与分析简介.md b/chapter3/3流数据计算与分析简介.md index e7be675..e267e52 100644 --- a/chapter3/3流数据计算与分析简介.md +++ b/chapter3/3流数据计算与分析简介.md @@ -4,4 +4,6 @@ 结构化流(Structed streaming)中的关键思想是将实时数据流视为连续追加的表,每个触发(Triggers)间隔(例如,每`1`秒)将新行附加到输入表,经查询产生结果表,并最终写入外部Sink。 -![](https://www.educoder.net/api/attachments/375945) \ No newline at end of file +

+ +