Hadoop学习

来源:互联网 发布:怎么做淘宝网站推广 编辑:程序博客网 时间:2024/06/09 13:46

云计算的源起:通过把众多的计算机通过集群的方式并行同时运行,以此来提高运行的速度。
Hadoop是由:
HDFS(分布式文件系统)和分布式并行编程框架(MapReduce)还有子项目Hive、HBase、Mahout、 Pig、ZooKeeper等构成
字节单位的大小:B-KB-MB-GB-TB-PB-EB-ZB
MapReduce 用来处理并行计算大规模海量数据的,其中的核心操作为Map和Reduce
Map(映射)通过函数,Reduce(归约)通过函数
Map负责把任务分解成多个任务,Reduce负责把分解后的多个任务处理的结果汇总起来.
MapReduce模式的主要思想是将要自动分割执行的问题(例如程序)拆解成Map(映射)和Reduce(化简)方式.
Map->combine->shuffle and sort -> reduce
MapReduce程序是转变输入数据列表成输出数据元素列表
Mapping
Mapper针对每一个输入元素都要生成一个输出元素,Reducer针对每一个输入列表都要生成一个输出元素.
Reducing函数的作用是把一个大的数据列表转变为一个(或几个)输出数值,有相同键的所有数值会被一起送到一个Reducer里.
MapReduce的集群行为包括:
1.任务调度:(1)MapReduce任务是由一个JobTracker和多个TaskTracker两类节点控制完成.
JobTracker主要负责管理TaskTracker,通常是运行在master节点上的.JobTracker将Mapper和Reducer分配给空闲的TaskTracker后,由TaskTracker负责这些任务的并行执行.
(2)TaskTracker节点必须运行在DataNode节点上,所以说DataNode既是数据存储节点,也是计算节点.
(3)JobTracker监控任务的运行情况,如果某个TaskTracker发生故障,JobTracker就会将其负责的任务分配给其他空闲的TaskTracker重新执行.
2.本地计算:把计算节点和数据节点置于同一台计算机上,MapReduce框架尽量保证存储的数据节点执行计算任务,从而有效的减少了数据在网络中的传输,降低了对带宽的需求.避免的网络”瓶颈”.
3.Shuffle洗牌过程:MapReduce会将Mapper的输出结果按照key值分成R份,其中R是预先定义的Reducer的个数,划分时常用Hash(哈希)函数,如Hash(key)modR.
4.合并Mapper输出:MapReduce允许在Shuffle之前先对结果进行合并(Combine),即将中间结果中有相同的key值的多组

hdfs dfs -mkdir /test

显示文件列表的命令如下:

hdfs dfs -ls /

把本地文件放到服务器上的操作命令如下:

hdfs dfs -put ./filename ./test/

移除文件的命令如下:

hdfs dfs -rm ./test/

移除文件夹和里面的文件的命令如下:

hdfs dfs -rmr ./test/

重集群上获得文件的命令如下:

hdfs dfs -get ./test/

Map处理->combine->shuffle and sort->reduce(分发)

0 0