+ All Categories
Home > Documents > EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz...

EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz...

Date post: 25-Apr-2020
Category:
Upload: others
View: 26 times
Download: 0 times
Share this document with a friend
20
AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 AWS 中国(宁夏)区域由西云数据运营 AWS 中国(北京)区域由光环新网运营 嵇诚,AWS 资深技术讲师 基于 EMR Spark 服务的大数据分析 架构搭建
Transcript
Page 1: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

嵇诚,AWS 资深技术讲师

基于 EMR Spark 服务的大数据分析架构搭建

Page 2: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

知识点

• 实时大数据处理与批处理概念

• 在 AWS 上实现实时处理与批处理的基本框架

• AWS EMR 与Amazon Kinesis 的功能与特点

• Demo 演示

Page 3: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

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应用

数据价值与反应时间

Page 4: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

数据分析的实时与批处理场景

每小时日志汇总

每天的反欺诈报告

每月的网站点击排名

每月账单汇总

实时显示的指标

实时显示的话费/账单

实时分析用户点击行为

实时监测IOT设备状态

Batch Processing Stream Processing

Page 5: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

大数据 Lambda 结构

Streaming 层

用来接受数据注入

Speed 层

实时处理框架

Persistence 层

持久化数据

Batch层

批处理框架

Serving 层

进一步处理或BI展现层

Page 6: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

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

Page 7: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Amazon Kinesis Data Streams

• AWS 托管服务

• 适合构建实时处理系统

• 很好的扩展性

• 费用低廉

Stream layer

Speed layerServering layer

with KCL

Page 8: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

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

Page 9: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

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

Page 10: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Amazon Kinesis Data Streams 数据写入

• 按照 Key 值存放在 Shard

• Shard 内数据有序排列

Page 11: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Amazon Kinesis Data Streams 数据读取

使用 Kinesis Client Library (KCL)

分别读取多个 shards 数据

通过 DynamoDB 实现 checkpoint 容错

根据 shard 数量自动扩展

Page 12: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

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

Page 13: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Amazon EMR –云中的 Hadoop, Flink, Spark, Presto等

• 托管的平台

• 分钟级启动

• 有效利用 AWS 弹性能力

• 内置安全管理

• Pay As you Go

• 加载自定义配置

Page 14: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

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

Page 15: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Amazon EMR 是如何工作的

Master Instance担任 NameNode

Core Instance 担任 DataNode

Task Instance 只承担计算能力

使用 S3 作为持久化层

本地 HDFS 充当临时存储

Page 16: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

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

Page 17: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

Hive, Pig Spark

Presto HBase

Amazon S3

Amazon EMR 计算存储分离

Page 18: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

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

数据展现

Page 19: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营

演示 Kinesis + EMR

Amazon EMR模拟 WEB LOG

Amazon S3 bucket

for raw data

数据注入

Amazon Kinesis

Data Streams

实时分析

数据转储

Page 20: EMR Spark 服务的大数据分析 架构搭建 · 2018-12-25 · Lambda architecture Nathan Marz ... Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase / i x esto t Batch MapReduce

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 在线研讨会


Recommended