42
Azure 上基于 Spark Streaming 的数据流实时计算 左继红 ACP-B205

Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

  • Upload
    dokiet

  • View
    264

  • Download
    10

Embed Size (px)

Citation preview

Page 1: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

Azure 上基于 Spark Streaming的数据流实时计算 左继红

ACP-B205

Page 2: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

Azure 上的实时计算

Page 3: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 4: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 5: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 6: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

Spark Streaming 概念和功能

Page 7: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 8: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 9: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 10: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 11: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 12: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

EventHub 示例:

val stream = EventHubUtils.createStream(ssc, eventHubName, partitionNum, consumerGroupName)

Page 13: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 14: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 15: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

val dataset: RDD[Int, String] = … val metricsDS: DStream[Int, SensorMetrics] = stream.window(Seconds(3), Seconds(2)) val joinedDS: Dstream[Int, (SensorMetrics, String)] = metricsDS.transform(rdd => rdd.join(dataset))

Page 16: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

val computeMeanFunc = (values: Seq[SensorMetrics], state: Option[SensorState]) => { val back_ax_vals = values.map(_.getSensorReading("back").get.ax) val back_ax_mean = back_ax_vals.reduce(_+_) / values.size val back_ax_dev = Math.pow(back_ax_vals.map(x => Math.pow(x-back_ax_mean, 2)). reduce(_+_) / values.size, 0.5) ... }

Page 17: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 18: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

集成 EventHub

Page 19: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

并行结构,避免资源竞争 事件可保存多天,可反复读取 可通过Throughput Unit控制性能

Page 20: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

EventData

Offset Sequence number Body User properties System properties

Event Hub

Partition1

Partition2

Partition3

Partition4

事件按接收的时间存储

Offset: 字节偏移量

Page 21: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

每个EventHubReceiver对应一个EventHub Partition 使用EventHubs Java client 底层使用Apache Qpid库访问EventHub,基于AMQP协议

Page 22: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

EventHub的数据持久化存储 ResilientEventHubReceiver的自动恢复 Offset的定时checkpoint Metadata、RDD data定时checkpoint

Page 23: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

Reliable Receiver: 当数据被成功接收并可靠存储后,向源发送确认 Unreliable Receiver: 不向源发送确认

Unreliable Receiver 通过offset checkpointing保证数据的可靠接收 Offset被存储于Azure Blob Storage

Page 24: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 25: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

Azure 上的 Spark 集群部署

Page 26: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 27: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 28: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 29: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 30: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 31: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 32: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 33: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

演示: 使用 Spark Streaming 实现动作信号的分析

Page 34: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 35: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

Azure 上实时分析工具的比较

Page 36: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 37: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 38: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 39: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红

课后提醒

Page 41: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红
Page 42: Azure 上基于 Spark Streaming 的数据流实时计算download.microsoft.com/download/3/6/F/36F2B2A6-36E4-4966...Azure 上基于 Spark Streaming 的数据流实时计算 左继红