第 12 周学习总结
大数据
大数据实现的方向不是由客户主动提供需求,而是反过来,由开发端来猜测和引导用户。
谷歌三驾马车
HDFS
要解决的问题
1.存储大文件 2.读写快速 3.数据安全
RAID在一个服务器上的多个磁盘上可以解决,但是可插拔的磁盘数量有限,它可支持的数据量就受限了。
HDFS可以跨服务器解决上面的问题。
不适合的场景:随机访问、大量小文件
1-2台NameNode服务器,其他服务器为DataNode服务器。NameNode推荐使用固态硬盘。
HDFS不要与RAID一起使用
MapReduce
处理程序关键点两个是 map reduce方法的输入和输出是什么:一行数据-> 词+一个词对应的数据结果 -> 词、一个词对应的数的集合 -> 词+结论
map 输入:key - 偏移量,value - 一行 输出:key-value
reduce 输入:key - map输出的key,value - map输出的该key对应的value的集合。输出:key-value
WordCount
Map 端可以做一次combine(使用与reduce端相同的合并方法),减少传递给reduce的kv数量。
通常1个MapReduce的split对应一个HDFS的block。
map到reduce通过 网络拷贝(shuffle),将不同map进程产生的相同的key数据拷贝到同一个reduce进程中去进行聚合。
移动计算比移动数据(大量)划算,所以 MapReduce 计算分别在 DataNode 上
Hive
可以一次From取数据,多次计算后insert,这样就减少取数据的次数。
评论 (1 条评论)