小机灵鬼|42 张图带你揭秘后端技术都要学啥?( 十 )
安全防御
大数据其实在上面提到的分布式中就有涉及大数据相关知识 。 无外乎是数据量越来越大 , 我们如何尽可能使用较低的成本存储更多的数据 , 给公司企业带来更好的利润 。 上面说过分布式缓存 , 负载均衡等技术 , 其共同特点是如何抵抗高并发的压力 , 而这里的大数据技术主要谈论的是如何满足大规模的计算 。
通过对数据的分析 , 进而发掘海量数据中的价值 , 这里的数据包含数据库数据 , 日志信息 , 用户行为数据等等 。 那么这么多不同类型的数据 , 怎么去存储呢?
分布式文件存储 HDFS 架构
如何将数以万计的服务器组成统一的文件存储系统?其中使用Namenode服务器作为控制块 , 负责元数据的管理(记录文件名 , 访问权限 , 数据存储地址等) , 而真正的文件存储在DataNode中 。
Mapreduce
大量的数据存储下来的目的是通过相应的算法进行数据分析 , 获得通过深度学习/机器学习进行预测 , 从而获取有效的价值 , 这么大的文件 , 我们不可能将HDFS当做普通的文件 , 从文件中读取数据然后计算 , 这样子不知道算到何时何地 。
大数据处理经典的处理框架即MapReduce , 分为Map和Reduce两个阶段 , 其中一个Map过程是将每个服务器上启动Map进程 , 计算后输出一个
下面以WordCount统计所有数据中相同的词频数据为例 , 详细看看Map和Reduce的过程 。
wordcoun计算过程
在这个例子中 , 通过对value中的1组成的列表 , reduce对这些1进行求和操作从而得到每个单词的词频 。 代码实现如下:
public class WordCount {
// Mapper四个参数:第一个Object表示输入key的类型;第二个Text表示输入value的类型;第三个Text表示表示输出键的类型;第四个IntWritable表示输出值的类型 。 map这里的输出是指输出到reduce
public static class doMapper extends Mapper
推荐阅读
- 小机灵鬼|干货速来!透彻剖析微服务架构设计模式,深入开发Java有奇效
- 萌小糸说历史|他腹背受敌的时候,刘备为何见死不救(二),揭秘关羽死得很蹊跷
- 王者荣耀|王者重开机制揭秘:钻石段位以上必看,五战士,四辅助可重开,巅峰赛不能
- 雷军揭秘小米实验室1800台手机 2020智能手机和直播行业现状及发展前景趋势分析研究报告
- 国潮|国韵经典潮茶——韵茶获得满堂好评!揭秘TA一路高歌猛进的背后
- 时尚广州|T恤的标语你了解过吗?揭秘衣服上那些奇怪的字句
- 湖人|死守联防包夹哈登!名嘴揭秘湖人如何赢球:坚信红队三分球会力竭
- 《他其实没有那么爱你》不想给观众放大贫富差距丨揭秘
- |死守联防包夹哈登!名嘴揭秘湖人如何赢球:坚信红队三分球会力竭
- 落叶知秋|揭秘,IT培训行业营销拓客秘籍