写点什么

架构师 第十三周 总结

用户头像
尔东雨田
关注
发布于: 2020 年 09 月 09 日
架构师 第十三周 总结

Spark

Spark 生态体系

  • Spark SQL :使用写SQL的方式进行数据计算

  • Spark Graphx: 图计算和并行图计算

  • Spark Mlib:可扩展的Spark机器学习库

  • Spark Streaming:流式计算框架

Spark VS Hadoop

为什么比Hadoop快

  • DAG切分的多阶段计算过程更快速

  • 使用内存存储中间计算结果更高效

  • RDD的编程模型更简单



RDD

编程模型:既是面向开发者的编程模型,又是Spark Core的核心元素;

数据分片:数据分片、任务调度都是以RDD为单位进行;分为宽依赖和窄依赖;



Spark 计算阶段

根据应用的复杂度,分割成更多的计算阶段(stage),分割的计算阶段组成一个有向无环图DAG,Spark任务调度器根据DAG的依赖关系执行计算阶段



Spark 作业管理

RDD有两种函数:转换函数、action函数;

转换函数:调用之后还是得到下一个RDD,RDD计算主要通过转换函数完成。

action函数:调用后不再返回RDD;



Spark 执行过程



1 Spark应用程序启动Driver进程,调用SparkContext 初始化执行配置和输入数据。SparkContext启动DGAScheduler构造执行DAG的有向无环图,切分成最小单位的计算任务。



2 Driver向Cluster Manager请求计算资源,用于DAG的分布式计算。Cluster Manager收到请求后,将Driver的主机地址通知给集群所有计算节点Worker.



3 Worker 向Driver主机通信并注册,领取任务。Driver 根据DAG图向Worker分配任务。



4 Worker 启动Executor 执行任务,从Driver下载执行代码,通过反射加载开始执行;



流计算



Storm 实时的Hadoop

实时计算系统

  • 低延迟

  • 高性能

  • 分布式

  • 可伸缩

  • 高可用

基本概念

  • Nimbus: 负责资源分配和任务调度

  • Supervisor: 接收Nimbus分配的任务,启动停止自己管理的Worker进程

  • Worker: 运行具体组件逻辑的进程

  • Task: Worker中每一个Spout/Bolt的线程为一个Task;

应用场景

实时日志处理、实时统计、实时风控、实时推荐等



下一代 Spark

Flink



大数据可视化

互联网运营常用数据指标

  • 新增用户数

  • 用户留存率

  • 活跃用户数

  • PV

  • GMV

  • 转化率



数据可视化图表与数据监控

折线图

散点图

热力图

漏斗图



大数据算法与机器学习

网页排名算法 PageRank



KNN 分类算法

又称K近邻算法

将一个需要分类的数据和一组已经分类标注好的样本集合进行比较,得到距离最近的K个样本,K个样本最多归属的类别,就是这个需要分类数据的类别。

贝叶斯分类算法

K-MEANS 聚类算法

推荐引擎算法



用户头像

尔东雨田

关注

预备用枪! 2017.12.12 加入

还未添加个人简介

评论

发布
暂无评论
架构师 第十三周 总结