AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
嵇诚,AWS 资深技术讲师
基于 EMR Spark 服务的大数据分析架构搭建
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
知识点
• 实时大数据处理与批处理概念
• 在 AWS 上实现实时处理与批处理的基本框架
• AWS EMR 与Amazon Kinesis 的功能与特点
• Demo 演示
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
单体数据随着时间,价值逐步减低
Real time Seconds Minutes Hours Days Months
Valu
e o
f d
ata
to
de
cisi
on
-makin
g
Pre
ve
nti
ve
/P
red
icti
ve
Actionable Reactive Historical
时间敏感型决策系统 基于批量数据的传统BI应用
数据价值与反应时间
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
数据分析的实时与批处理场景
每小时日志汇总
每天的反欺诈报告
每月的网站点击排名
每月账单汇总
实时显示的指标
实时显示的话费/账单
实时分析用户点击行为
实时监测IOT设备状态
Batch Processing Stream Processing
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
大数据 Lambda 结构
Streaming 层
用来接受数据注入
Speed 层
实时处理框架
Persistence 层
持久化数据
Batch层
批处理框架
Serving 层
进一步处理或BI展现层
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
Batch Layer
Amazon
Kinesis
data
process
store
Amazon
Kinesis S3
Connector Amazon S3
A
p
p
li
c
a
t
i
o
n
s
Amazon
Redshift
Amazon EMR
Presto
Hive
Pig
Spark answer
Speed Layer
Serv
ing
Layer
Amazon
ElastiCache
AmazonDynamoDB
Amazon
RDS
Amazon
ES
answer
Amazon
ML
KCL
AWS Lambda
Spark Streaming
Storm
Lambda
architecture
Nathan Marz
http://lambda-architecture.net/
Lambda architecture
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
Amazon Kinesis Data Streams
• AWS 托管服务
• 适合构建实时处理系统
• 很好的扩展性
• 费用低廉
Stream layer
Speed layerServering layer
with KCL
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
Amazon Kinesis Data Streams 如何工作的Fully managed service for real-time processing of streaming data
每小时百万级消息量
Amazon Web Services
FrontEnd
AZ AZ AZAuthentic
Authorization
Durable, highly consistent storage replicas data
across three data centers (availability zones)
Aggregate and
archive to S3
Real time
dashboards and
alarms
Machine learning
algorithms or
sliding window
analytics
Aggregate analysis
in Hadoop or a
data warehouse like
Redshift
有序的 stream 消息可以同时被多个消费者使用
Amazon Web Services
Amazon Kinesis
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
Amazon Kinesis Data Streams –SHARD分区流(Stream): 用于收集和存储数据
• 分片(Shards):
Stream中数据记录的唯一标示
一个或多个Shard组成一个Stream
• 每个分片容量单位:
Put - 1MB/sec 或者1000 TPS
Get - 2 MB/sec 或者 5 TPS
• 所有数据默认存储24小时; 最长可达7天
• 使用 Resharding 扩展 Kinesis Stream
以适应实际数据吞吐量的变化
• 重播24小时内的数据
最长可以存储168小时的数据每小时分区费率(提取率 1 MB/秒,输出率 2 MB/秒)¥ 0.1150
每 1000000 个 PUT 负载单位 ¥ 0.1070
延长数据保留期(最多 7 天),每分区小时 ¥ 0.1534
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
Amazon Kinesis Data Streams 数据写入
• 按照 Key 值存放在 Shard
• Shard 内数据有序排列
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
Amazon Kinesis Data Streams 数据读取
使用 Kinesis Client Library (KCL)
分别读取多个 shards 数据
通过 DynamoDB 实现 checkpoint 容错
根据 shard 数量自动扩展
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
Amazon Kinesis Data Streams Producers and Consumers
Producers Consumers
Kinesis Agent
Apache Kafka
AWS SDK
LOG4J
Flume
Fluentd
AWS Mobile SDK
Kinesis Producer Library
Get* APIs
Kinesis Client Library
+ Connector Library
Apache Storm
Amazon EMR
AWS Lambda
Apache Spark
Amazon
Kinesis
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
Amazon EMR –云中的 Hadoop, Flink, Spark, Presto等
• 托管的平台
• 分钟级启动
• 有效利用 AWS 弹性能力
• 内置安全管理
• Pay As you Go
• 加载自定义配置
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营 © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Amazon EMR Service
ApplicationsHive, Pig, Spark SQL/Streaming/ML, Flink, Mahout, Sqoop
HB
ase
/
Ph
oen
ix
Pre
sto
MX
Ne
t
BatchMapReduce
InteractiveTez
In MemorySpark
StreamingFlink
YARNCluster resource management
StorageAmazon S3 (EMRFS), HDFS
Ganglia - Monitoring
Hue - SQL
Zeppelin - Notebooks
Livy - Job server
Co
nn
ecto
rsto
AW
Sse
rvice
s
Amazon EMR Amazon S3Amazon
Kinesis
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
Amazon EMR 是如何工作的
Master Instance担任 NameNode
Core Instance 担任 DataNode
Task Instance 只承担计算能力
使用 S3 作为持久化层
本地 HDFS 充当临时存储
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
Amazon EMR 计算存储分离
Master Node
CPU
Memory
HDFS
Storage
CPU
Memory
HDFS
Storage
CPU
Memory
HDFS
Storage
CPU
Memory
HDFS
Storage
Master Node
CPU
Memory
CPU
Memory
CPU
Memory
CPU
Memory
Amazon S3 as Streaming HDFS via EMRFS
传统 Hadoop 模型 EMR模型
HDFS = 3X Replication
500 TB Dataset = 1.5 PB cluster with replication
HDFS
Storage
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
Hive, Pig Spark
Presto HBase
Amazon S3
Amazon EMR 计算存储分离
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
示例架构图
AWS
CloudTrail
Amazon
CloudWatch
events trigger
Amazon S3 bucket
for raw data
数据注入
Amazon
Kinesis Data
Streams
Amazon S3
bucket for
processed data
AWS Lambda
function
Amazon
Redshift
Table(s)
EZChart
Dashboard
再次注入驱动 Lambda 函数
Amazon
Kinesis DataStreams
实时计算批处理
Amazon EMR
Data Analytics
数据展现
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
演示 Kinesis + EMR
Amazon EMR模拟 WEB LOG
Amazon S3 bucket
for raw data
数据注入
Amazon Kinesis
Data Streams
实时分析
数据转储
AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营
我们希望您喜欢今天的内容!也请帮助我们完成反馈问卷。
欲获取关于 AWS 的更多信息和技术内容,可以通过以下方式找到我们:
微信公众号:AWSChina
新浪微博:https://www.weibo.com/amazonaws/
领英:https://www.linkedin.com/company/aws-china/
知乎:https://www.zhihu.com/org/aws-54/activities/
视频中心:http://aws.amazon.bokecc.com/
更多线上技术活动:https://aws.amazon.com/cn/about-aws/events/webinar/
感谢参加 AWS 在线研讨会
Top Related