极客大学架构师训练营 - 第十三周 - 总结
Spark特点
DAG切分的多阶段计算过程更快速
使用内存存储中间计算更高效;
RDD的编程模型更简单
案例:WordCount
注意:所有的算子,都是在相同节点内进行的;
reduceByKey
需要进行shuffle;
先在本地进行shuffle,再在
RDD
上面的WordCount中textFile也是一个RDD
MapReduce是一种面向过程的编程,RDD是一种面向对象的编程;
DataFrame与RDD之间的关系是什么呢?!
RDD上定义了两种函数
转换: transformation,会返回值和RDD
执行:不再返回RDD
函数
reduceByKey(func,[numPartitions]): 根据key进行聚合,会产生新的RDD
join(otherDataSet,[numPartitions]):连接数据集
groupByKey([numPartitions]): 分组
作为数据分片
惰性计算:只有进行shuffle的时候,才会生成新的RDD;是否会产生新的RDD,不仅仅需要根据函数名来判断,还要看是否会产生新的分区;
窄依赖:无shuffle依赖,不需要跨分区
宽依赖:shuffle依赖,需要跨分区
技术判断力
参与开源项目,提升自己的影响力
Spark的计算阶段
stage如何划分呢?!
算子
map
union
groupBy
join
一个计算任务会放到一个节点上执行;
Spark的作业管理
Spark的执行过程
Spark生态体系
这一块没听懂,需要再看,好好理解?!
Storm
基本概念
整体架构
example
topology
Spout
Bolt
Impala
MPP 与 大数据计算的对比
MPP不需要进行分发任务
Impala的MPP架构
图中橙色的部分是Impala的进程;
Coordinator通过State Store感知彼此;
计算任务的中间结果都存储在内存中的;
大数据可视化
MapReduce是硬盘型的,Spark是内存型的;
数据分析与数据挖掘
数据大屏
有哪些开源的数据大屏系统可供参考呢?!
互联网运营常用数据指标
新增用户数
可以自定义:比如墨迹天气不需要注册,则与机器设备相关
日新增用户数
周新增用户数
月新增用户数
会呈抛物线状;
用户留存率
留存用户数/当期新增用户数
用户流失率
=1-用户留存率
活跃用户数:反映产品黏性和吸引力
打开使用产品的用户数;
日活跃用户数
月活跃用户数
PV:统计网页访问统计
打开以后是否频繁操作,比如用户单次点击、每个页面跳转
APP如何进行统计呢?!
GMV:成交总金额,Gross Merchandise Volume,反映网站营收能力
电商网站统计营业额(流水)
订单量:用户下单总量
客单价:单个订单的平均价格
转化率
在电商网站产生购买行为的用户与访问用户之比;
=有购买行为的用户数 / 总访问用户数
数据可视化图表与数据监控
折线图
散点图
快速发现数据分布上的规律与趋势
漏斗图
在用户的整个访问路径中每一步的转化率
热力图
分析网站页面被用户访问的热点区域,以更好地进行页面布局和视觉展示;
大数据算法与机器学习
网页排名算法 PageRank
KNN
如何计算两篇文章的距离呢?!
统计每篇文章的向量,特征向量:
TF-IDF
TF:某个单词在文档中出现的频率
=(某个词在文档中出现的次数)/文档总词数
IDF:某个单词在所有文档中的稀缺程度
=log(所有的文档总数/出现该词的文档数)
贝叶斯分类算法
K-means
推荐引擎算法
基于人口统计的推荐
基于商品属性的推荐
基于用户的协同过滤推荐
基于商品的协同过滤推荐
如何基于Bert来进行推荐呢?!
版权声明: 本文为 InfoQ 作者【sljoai】的原创文章。
原文链接:【http://xie.infoq.cn/article/122a163ddca0c2b913a4b08a2】。文章转载请联系作者。
评论