《Hadoop实战》(陆嘉恒著) 读书笔记

最近大概地读了《Hadoop实战》,算是了解了Hadoop的皮毛吧,在此总结一下。

Hadoop安装

关于Hadoop安装我觉得这本书讲得挺详细的。

Hadoop的三种运行方式

本地模式 ---- 设置简单便于调试

伪分布模式

完全分布模式

Hadoop应用

大规模的数据处理分为三个阶段

数据收集

数据准备

数据表示

MapReduce模型

MapReduce应用

日志分析

海量数据排序

查找模式

执行MapReduce角色

JobTracker

TaskTracker

Job分为两阶段

<k1,v1>   map   <k2,v2>    reduce   <k3,v3>

MapReduce优化

        combine函是用于在本地合并数据的函数,在有些情况下,map函数产生的中间数据会有很多重复的数据,所以MapReduce框架运行用户写的一个combine函数,用于本地合并,这会大大减少网络I/O操作的消耗。

Hadoop I/O

序列化的目的

进程通信

数据持续存储

SequenceFile类 与 MapFile类

HDFS

主要特点:处理超大文件、流式的访问数据、运行于廉价的商用机器集群不适合低延迟数据访问,无法高效存储大量小文件,不支持多用户写入与任意修改文件。

体系: 1个NameNode + n个DataNode

基本操作及其接口

命令行

JAVA API

Hadoop的管理

数据备份

节点管理

系统升级

Hive (数据抽取、转换、加载的工具)

Hadoop的重要子项目,它利用MapReduce编程技术,实现了部分SQL语句,提供了类SQL的编程接口

Hive的网络接口

通过Hive的网络接口可以更方便更直观的操作

Hive语法简介

HBase (基于列的映射数据库)

HBase是Apache Hadoop的数据库,能够对大型的数据提供随机、实时的读写访问


HBase客户端与HBase集群交互方法

利用HBase的MapReduce将map后<key,value> 放到数据库而不是普通文件,reduce从数据库取数据而不是文件。

Mahout

它是Apache Luceue(著名的开源搜索引擎)的子项目

主要目标是建立可伸缩的机器学习算法

包含聚类、分类、推荐引擎、频繁项集的挖掘

数据以向量的形式传播

算法应用

使用seqdirectory命令将待处理文件转化为序列文件

使用seq2sparse将序列文件转化为向量文件

使用kmean命令

建立一个推荐引擎

taste是Apache Mahout提供的一个协同过滤算法的高效实现

Pig

提供了一个支持大数据分析的平台

Pig Latin 语言与传统的关系数据库中的数据库操作语言相似,但其更侧重于数据的查询与分析

Zookeeper(协调平衡工具)

它是一个为分布式应用所设计的开源协调服务

目的是为了减轻分布式应用程序所承担的协调任务

主要用来控制集群中的数据,如管理Hadoop集群中的NameNode,以及HBase中的Master Election,Server之间的同步状态等

Avro(序列化系统)

它作为一个数据序列化的系统,为数据密集型动态应用程序提供了数据存储和交换的平台,他的最大特点就是模式和数据在一起。

提供以下一些特征和功能

丰富的数据结构类型

快速可压缩的二进制数据形式

存储持久数据的文件容器

远程过程调用

简单的动态语言结合功能

Chukwa(处理日志)

Chukwa作为Hadoop的子项目,技能帮助Hadoop处理其日志,也能利用MapReduce对日志进行分析处理。在Chukwa的帮助下,Hadoop用户能够清晰了解系统运行的状态,分析作业运行的状态及HDFS的文件存储状态,从而让我们对整个分布式系统状态有形象直观的了解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值