刚开始入职,被分配到数据分析平台组,入职第一天,不了解相关知识,学习hadoop相关基础知识。
Hadoop是作为一个集群,为分布式计算结构提供便利,使用户并不需要了解底层结构就可以来实现分布式的相关实现。Hadoop有两种实现,第一种是重点在存储的HDFS,其优势是容错率高,能耗低,采用数据流的方式来访问数据;另一种是重点在于计算的MapReduce,其包括Map跟Reduce两个部分,MapReduce将大数据进行分解,将其放到不同的split中,然后master将机器分为Mapper以及Reducer,分解后的数据在Mapper中进行计算,获得中间键值对,并将这些中间键值对存储到本地存储中,Reducer将数据从存储中取出,对中间键值对进行加工,合并为规模更小的值。例如求一堆数据的最大值,可将数据分解分配到不同的Mapper中,在Mapper中对相关数据进行处理,得到各组的最大值,而这些最大值将在Reducer中进行处理,获得最终的最大值。
MapReduce工作的相关图示如下:
另外,了解到在这个过程中的数据流会首先是将Int等数据分解成二进制数据流,然后到达目的端时再重构成Int等数据格式。而Inwritable就是讲DataInput接口中的二进制流重构成相关的数据类型。
相关的网址如下:http://www.360doc.com/content/12/0827/09/9318309_232551844.shtml
Hadoop采用ssh进行通信,ssh是一种基于软件的网络安全技术,明天继续看。