写点什么

架构师训练营 -week13- 总结

用户头像
大刘
关注
发布于: 2020 年 12 月 19 日
架构师训练营 -week13-总结
本周重点学习了以下几个方面的内容:
  1. Spark生态体系介绍

  2. 流处理技术介绍(Flink、Storm、Sparking Stream)

  3. 大数据体系内的常用算法(贝叶斯、神经网络、网页排名算法等)


平时的工作中没有涉及到大数据相关的,根据老师的讲解,简答的做个提纲,列入到下一阶段提升计划里。学好大数据应该具备几个方面的基础知识:1、相关基础的数学知识;2、熟练使用一门适用于大数据或者AI相关的开发语言,例如Python。目前火热的领域,物联网、新基建、边缘计算等等都跟大数据相关,所以也是属于必须掌握的知识领域里。

Spark

Spark生态体系
  • Spark SQL

  • Spark Streaming

  • MLlib

  • GraphX





Spark特点(Spark为什么更快)
  • DAG切分的多阶段计算过程更快速

  • 使用内存存储中间计算结果更高效(Hadoop其实是把map和reduce的结果写到HDFS的)

  • RDD(弹性分布式数据集)编程模型更简单(RDD类似java8的stream)。MapReduce分为map和reduce两个阶段,而Spark针对数据进行编程,把大规模数据集抽象成一个RDD对象,然后在这个RDD对象上进行各种计算,每一个计算会得到一个新的RDD对象。所以MapReduce是一个面向过程的编程,而RDD是一个面向对象的编程。





Spark的计算阶段

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





Spark的执行过程

Spark支持standalone、Yarn、Mesos、Kubernetes等多种部署方案,集中部署方案原理差不多,只是不同组件的角色命名不一样,但是核心功能和运行流程都差不多。





Spark的作业管理

Spark的RDD函数有两种,一种是转换函数,调用以后得到的还是一个RDD;另一种是action函数,调用以后不再返回RDD


流计算

Storm实时的Hadoop

实时计算系统

  • 低延迟

  • 高性能

  • 分布式

  • 可伸缩

  • 高可用









Storm应用场景

Storm被广泛用来进行实时日志处理,出现在实时统计,实时风控,实时推荐等场景中。

Spark Streaming

Spark版本的Storm





Flink

下一代Spark








大数据算法与机器学习

  • Google的网页排名算法PageRank(具体说明在本周作业里描述了)

  • KNN算法

用来解决分类的问题;用距离来衡量样本之间的相似度

算法过程:

  • 计算未知点到所有已知类别点的距离

  • 按距离排序(升序)

  • 选取其中前k个与未知点离得最近的点

  • 统计k个点中各个类别的个数

  • 上述k个点里类别出现频率最高的作为未知点的类别

  • 贝叶斯分类算法

  • K-means聚类算法

算法过程:

  • 随机选取k个点,作为聚类中心;

  • 计算每个点分别到k个聚类中心的聚类,然后将该点分到最近的聚类中心,这样就行成了k个簇;

  • 再重新计算每个簇的质心(均值);

  • 重复以上2~4步,直到质心的位置不再发生变化或者达到设定的迭代次数

  • 推荐引擎算法

  • 机器学习系统架构





  • 样本:包含:输入、结果

  • 模型:映射 样本输入与样本输出的函数

  • 算法:计算损失函数的最小值的过程



用户头像

大刘

关注

大道至简,知易行难 2017.12.27 加入

想成为合格架构师的架构师

评论

发布
暂无评论
架构师训练营 -week13-总结