zoukankan      html  css  js  c++  java
  • 《Hadoop应用开发技术详解》

    Hadoop应用开发技术详解》

    基本信息

    作者: 刘刚   

    丛书名: 大数据技术丛书

    出版社:机械工业出版社

    ISBN:9787111452447

    上架时间:2014-1-10

    出版日期:2014 年1月

    开本:16开

    页码:1

    版次:1-1

    所属分类:计算机

     

    更多关于》》》Hadoop应用开发技术详解

    内容简介

        书籍

        计算机书籍

      《hadoop应用开发技术详解》由资深hadoop技术专家撰写,系统、全面、深入地讲解了hadoop开发者需要掌握的技术和知识,包括hdfs的原理和应用、hadoop文件i/o的原理和应用、mapreduce的原理和高级应用、mapreduce的编程方法和技巧,以及hive、hbase和mahout等技术和工具的使用。并且提供大量基于实际生产环境的案例,实战性非常强。

      全书一共12章。第1~2章详细地介绍了hadoop的生态系统、关键技术以及安装和配置;第3章是mapreduce的使用入门,让读者了解整个开发过程;第4~5章详细讲解了分布式文件系统hdfs和hadoop的文件i/o;第6章分析了mapreduce的工作原理;第7章讲解了如何利用eclipse来编译hadoop的源代码,以及如何对hadoop应用进行测试和调试;第8~9章细致地讲解了mapreduce的开发方法和高级应用;第10~12章系统地讲解了hive、hbase和mahout。

    目录

    《hadoop应用开发技术详解》

    前 言

    第1章 hadoop概述 / 1

    1.1 hadoop起源 / 1

    1.1.1 google与hadoop模块 / 1

    1.1.2 为什么会有hadoop / 1

    1.1.3 hadoop版本介绍 / 2

    1.2 hadoop生态系统 / 3

    1.3 hadoop常用项目介绍 / 4

    1.4 hadoop在国内的应用 / 6

    1.5 本章小结 / 7

    第2章 hadoop安装 / 8

    2.1 hadoop环境安装配置 / 8

    2.1.1 安装vmware / 8

    2.1.2 安装ubuntu / 8

    2.1.3 安装vmware tools / 15

    2.1.4 安装jdk / 15

    2.2 hadoop 安装模式 / 16

    2.2.1 单机安装 / 17

    2.2.2 伪分布式安装 / 18

    .2.2.3 分布式安装 / 20

    2.3 如何使用hadoop / 27

    2.3.1 hadoop的启动与停止 / 27

    2.3.2 hadoop配置文件 / 28

    2.4 本章小结 / 28

    第3章 mapreduce快速入门 / 30

    3.1 wordcount 实例准备开发环境 / 30

    3.1.1 使用eclipse创建一个java工程 / 30

    3.1.2 导入hadoop的jar文件 / 31

    3.2 mapreduce代码的实现 / 32

    3.2.1 编写wordmapper类 / 32

    3.2.2 编写wordreducer类 / 33

    3.2.3 编写wordmain驱动类 / 34

    3.3 打包、部署和运行 / 35

    3.3.1 打包成jar文件 / 35

    3.3.2 部署和运行 / 36

    3.3.3 测试结果 / 38

    3.4 本章小结 / 39

    第4章 hadoop分布式文件系统详解 / 40

    4.1 认识hdfs / 40

    4.1.1 hdfs的特点 / 40

    4.1.2 hadoop文件系统的接口 / 45

    4.1.3 hdfs的web服务 / 46

    4.2 hdfs架构 / 46

    4.2.1 机架 / 47

    4.2.2 数据块 / 47

    4.2.3 元数据节点 / 48

    4.2.4 数据节点 / 50

    4.2.5 辅助元数据节点 / 50

    4.2.6 名字空间 / 52

    4.2.7 数据复制 / 53

    4.2.8 块备份原理 / 53

    4.2.9 机架感知 / 54

    4.3 hadoop的rpc机制 / 55

    4.3.1 rpc的实现流程 / 56

    4.3.2 rpc的实体模型 / 56

    4.3.3 文件的读取 / 57

    4.3.4 文件的写入 / 58

    4.3.5 文件的一致模型 / 59

    4.4 hdfs的ha机制 / 59

    4.4.1 ha集群 / 59

    4.4.2 ha架构 / 60

    4.4.3 为什么会有ha机制 / 61

    4.5 hdfs的federation机制 / 62

    4.5.1 单个namenode的hdfs架构的局限性 / 62

    4.5.2 为什么引入federation机制 / 63

    4.5.3 federation架构 / 64

    4.5.4 多个名字空间的管理问题 / 65

    4.6 hadoop文件系统的访问 / 66

    4.6.1 安全模式 / 66

    4.6.2 hdfs的shell访问 / 67

    4.6.3 hdfs处理文件的命令 / 67

    4.7 java api接口 / 72

    4.7.1 hadoop url读取数据 / 73

    4.7.2 filesystem类 / 73

    4.7.3 filestatus类 / 75

    4.7.4 fsdatainputstream类 / 77

    4.7.5 fsdataoutputstream类 / 81

    4.7.6 列出hdfs下所有的文件 / 83

    4.7.7 文件的匹配 / 84

    4.7.8 pathfilter对象 / 84

    4.8 维护hdfs / 86

    4.8.1 追加数据 / 86

    4.8.2 并行复制 / 88

    4.8.3 升级与回滚 / 88

    4.8.4 添加节点 / 90

    4.8.5 删除节点 / 91

    4.9 hdfs权限管理 / 92

    4.9.1 用户身份 / 92

    4.9.2 权限管理的原理 / 93

    4.9.3 设置权限的shell命令 / 93

    4.9.4 超级用户 / 93

    4.9.5 hdfs权限配置参数 / 94

    4.10 本章小结 / 94

    第5章 hadoop 文件 i/o 详解 / 95

    5.1 hadoop文件的数据结构 / 95

    5.1.1 sequencefile 存储 / 95

    5.1.2 mapfile存储 / 99

    5.1.3 sequencefile转换为mapfile / 101

    5.2 hdfs数据完整性 / 103

    5.2.1 校验和 / 103

    5.2.2 数据块检测程序 / 104

    5.3 文件序列化 / 106

    5.3.1 进程间通信对序列化的要求 / 106

    5.3.2 hadoop文件的序列化 / 107

    5.3.3 writable接口 / 107

    5.3.4 writablecomparable接口 / 108

    5.3.5 自定义writable接口 / 109

    5.3.6 序列化框架 / 113

    5.3.7 数据序列化系统avro / 114

    5.4 hadoop的writable类型 / 115

    5.4.1 writable类的层次结构 / 115

    5.4.2 text类型 / 116

    5.4.3 nullwritable类型 / 117

    5.4.4 objectwritable类型 / 117

    5.4.5 genericwritable类型 / 117

    5.5 文件压缩 / 117

    5.5.1 hadoop支持的压缩格式 / 118

    5.5.2 hadoop中的编码器和解码器 / 118

    5.5.3 本地库 / 121

    5.5.4 可分割压缩 lzo / 122

    5.5.5 压缩文件性能比较 / 122

    5.5.6 snappy压缩 / 124

    5.5.7 gzip、lzo和snappy比较 / 124

    5.6 本章小结 / 125

    第6章 mapreduce工作原理 / 126

    6.1 mapreduce的函数式编程概念 / 126

    6.1.1 列表处理 / 126

    6.1.2 mapping数据列表 / 127

    6.1.3 reducing数据列表 / 127

    6.1.4 mapper和reducer如何工作 / 128

    6.1.5 应用实例:词频统计 / 129

    6.2 mapreduce框架结构 / 129

    6.2.1 mapreduce模型 / 130

    6.2.2 mapreduce框架组成 / 130

    6.3 mapreduce运行原理 / 132

    6.3.1 作业的提交 / 132

    6.3.2 作业初始化 / 134

    6.3.3 任务的分配 / 136

    6.3.4 任务的执行 / 136

    6.3.5 进度和状态的更新 / 136

    6.3.6 mapreduce的进度组成 / 137

    6.3.7 任务完成 / 137

    6.4 mapreduce容错 / 137

    6.4.1 任务失败 / 138

    6.4.2 tasktracker失败 / 138

    6.4.3 jobtracker失败 / 138

    6.4.4 子任务失败 / 138

    6.4.5 任务失败反复次数的处理方法 / 139

    6.5 shuffle阶段和sort阶段 / 139

    6.5.1 map端的shuffle / 140

    6.5.2 reduce端的shuffle / 142

    6.5.3 shuffle过程参数调优 / 143

    6.6 任务的执行 / 144

    6.6.1 推测执行 / 144

    6.6.2 任务jvm重用 / 145

    6.6.3 跳过坏的记录 / 145

    6.6.4 任务执行的环境 / 146

    6.7 作业调度器 / 146

    6.7.1 先进先出调度器 / 146

    6.7.2 容量调度器 / 146

    6.7.3 公平调度器 / 149

    6.8 自定义hadoop调度器 / 153

    6.8.1 hadoop调度器框架 / 153

    6.8.2 编写hadoop调度器 / 155

    6.9 yarn介绍 / 157

    6.9.1 异步编程模型 / 157

    6.9.2 yarn支持的计算框架 / 158

    6.9.3 yarn架构 / 158

    6.9.4 yarn工作流程 / 159

    6.10 本章小结 / 160

    第7章 eclipse插件的应用 / 161

    7.1 编译hadoop源码 / 161

    7.1.1 下载hadoop源码 / 161

    7.1.2 准备编译环境 / 161

    7.1.3 编译common组件 / 162

    7.2 eclipse安装mapreduce插件 / 166

    7.2.1 查找mapreduce插件 / 166

    7.2.2 新建一个hadoop location / 167

    7.2.3 hadoop插件操作hdfs / 168

    7.2.4 运行mapreduce的驱动类 / 170

    7.3 mapreduce的debug调试 / 171

    7.3.1 进入debug运行模式 / 171

    7.3.2 debug调试具体操作 / 172

    7.4 单元测试框架mrunit / 174

    7.4.1 认识mrunit框架 / 174

    7.4.2 准备测试案例 / 174

    7.4.3 mapper单元测试 / 176

    7.4.4 reducer单元测试 / 177

    7.4.5 mapreduce单元测试 / 178

    7.5 本章小结 / 179

    第8章 mapreduce编程开发 / 180

    8.1 wordcount案例分析 / 180

    8.1.1 mapreduce工作流程 / 180

    8.1.2 wordcount的map过程 / 181

    8.1.3 wordcount的reduce过程 / 182

    8.1.4 每个过程产生的结果 / 182

    8.1.5 mapper抽象类 / 184

    8.1.6 reducer抽象类 / 186

    8.1.7 mapreduce驱动 / 188

    8.1.8 mapreduce最小驱动 / 189

    8.2 输入格式 / 193

    8.2.1 inputformat接口 / 193

    8.2.2 inputsplit类 / 195

    8.2.3 recordreader类 / 197

    8.2.4 应用实例:随机生成100个小数并求最大值 / 198

    8.3 输出格式 / 205

    8.3.1 outputformat接口 / 205

    8.3.2 recordwriter类 / 206

    8.3.3 应用实例:把首字母相同的单词放到一个文件里 / 206

    8.4 压缩格式 / 211

    8.4.1 如何在mapreduce中使用压缩 / 211

    8.4.2 map作业输出结果的压缩 / 212

    8.5 mapreduce优化 / 212

    8.5.1 combiner类 / 212

    8.5.2 partitioner类 / 213

    8.5.3 分布式缓存 / 217

    8.6 辅助类 / 218

    8.6.1 读取hadoop配置文件 / 218

    8.6.2 设置hadoop的配置文件属性 / 219

    8.6.3 genericoptionsparser选项 / 220

    8.7 streaming接口 / 221

    8.7.1 streaming工作原理 / 221

    8.7.2 streaming编程接口参数 / 221

    8.7.3 作业配置属性 / 222

    8.7.4 应用实例:抓取网页的标题 / 223

    8.8 本章小结 / 225

    第9章 mapreduce 高级应用 / 226

    9.1 计数器 / 226

    9.1.1 默认计数器 / 226

    9.1.2 自定义计数器 / 229

    9.1.3 获取计数器 / 231

    9.2 mapreduce二次排序 / 232

    9.2.1 二次排序原理 / 232

    9.2.2 二次排序的算法流程 / 233

    9.2.3 代码实现 / 235

    9.3 mapreduce中的join算法 / 240

    9.3.1 reduce端join / 240

    9.3.2 map端join / 242

    9.3.3 半连接semi join / 244

    9.4 mapreduce从mysql读写数据 / 244

    9.4.1 读数据 / 245

    9.4.2 写数据 / 248

    9.5 hadoop系统调优 / 248

    9.5.1 小文件优化 / 249

    9.5.2 map和reduce个数设置 / 249

    9.6 本章小结 / 250

    第10章 数据仓库工具hive / 251

    10.1 认识hive / 251

    10.1.1 hive工作原理 / 251

    10.1.2 hive数据类型 / 252

    10.1.3 hive的特点 / 253

    10.1.4 hive下载与安装 / 255

    10.2 hive架构 / 256

    10.2.1 hive用户接口 / 257

    10.2.2 hive元数据库 / 259

    10.2.3 hive的数据存储 / 262

    10.2.4 hive解释器 / 263

    10.3 hive 文件格式 / 264

    10.3.1 textfile格式 / 265

    10.3.2 sequencefile 格式 / 265

    10.3.3 rcfile文件格式 / 265

    10.3.4 自定义文件格式 / 269

    10.4 hive操作 / 270

    10.4.1 表操作 / 270

    10.4.2 视图操作 / 278

    10.4.3 索引操作 / 280

    10.4.4 分区操作 / 283

    10.4.5 桶操作 / 289

    10.5 hive复合类型 / 290

    10.5.1 struct类型 / 291

    10.5.2 array类型 / 292

    10.5.3 map类型 / 293

    10.6 hive的join详解 / 294

    10.6.1 join操作语法 / 294

    10.6.2 join原理 / 294

    10.6.3 外部join / 295

    10.6.4 map端join / 296

    10.6.5 join中处理null值的语义区别 / 296

    10.7 hive 优化策略 / 297

    10.7.1 列裁剪 / 297

    10.7.2 map join操作 / 297

    10.7.3 group by操作 / 298

    10.7.4 合并小文件 / 298

    10.8 hive内置操作符与函数 / 298

    10.8.1 字符串函数 / 299

    10.8.2 集合统计函数 / 299

    10.8.3 复合类型操作 / 301

    10.9 hive用户自定义函数接口 / 302

    10.9.1 用户自定义函数udf / 302

    10.9.2 用户自定义聚合函数udaf / 304

    10.10 hive的权限控制 / 306

    10.10.1 角色的创建和删除 / 307

    10.10.2 角色的授权和撤销 / 307

    10.10.3 超级管理员权限 / 309

    10.11 应用实例:使用 jdbc开发hive 程序 / 311

    10.11.1 准备测试数据 / 311

    10.11.2 代码实现 / 311

    10.12 本章小结 / 313

    第11章 开源数据库hbase / 314

    11.1 认识hbase / 314

    11.1.1 hbase的特点 / 314

    11.1.2 hbase访问接口 / 314

    11.1.3 hbase存储结构 / 315

    11.1.4 hbase存储格式 / 317

    11.2 hbase设计 / 319

    11.2.1 逻辑视图 / 320

    11.2.2 框架结构及流程 / 321

    11.2.3 table和region的关系 / 323

    11.2.4 -root-表和.meta.表 / 323

    11.3 关键算法和流程 / 324

    11.3.1 region定位 / 324

    11.3.2 读写过程 / 325

    11.3.3 region分配 / 327

    11.3.4 region server上线和下线 / 327

    11.3.5 master上线和下线 / 327

    11.4 hbase安装 / 328

    11.4.1 hbase单机安装 / 328

    11.4.2 hbase分布式安装 / 330

    11.5 hbase的shell操作 / 334

    11.5.1 一般操作 / 334

    11.5.2 ddl操作 / 335

    11.5.3 dml操作 / 337

    11.5.4 hbase shell脚本 / 339

    11.6 hbase客户端 / 340

    11.6.1 java api交互 / 340

    11.6.2 mapreduce操作hbase / 344

    11.6.3 向hbase中写入数据 / 348

    11.6.4 读取hbase中的数据 / 350

    11.6.5 avro、rest和thrift接口 / 352

    11.7 本章小结 / 353

    第12章 mahout算法 / 354

    12.1 mahout的使用 / 354

    12.1.1 安装mahout / 354

    12.1.2 运行一个mahout案例 / 354

    12.2 mahout数据表示 / 356

    12.2.1 偏好perference类 / 356

    12.2.2 数据模型datamodel类 / 357

    12.2.3 mahout 链接mysql数据库 / 358

    12.3 认识taste框架 / 360

    12.4 mahout推荐器 / 361

    12.4.1 基于用户的推荐器 / 361

    12.4.2 基于项目的推荐器 / 362

    12.4.3 slope one 推荐策略 / 363

    12.5 推荐系统 / 365

    12.5.1 个性化推荐 / 365

    12.5.2 商品推荐系统案例 / 366

    12.6 本章小结 / 370

    附录a hive内置操作符与函数 / 371

    附录b hbase 默认配置解释 / 392

    附录c hadoop三个配置文件的参数含义说明 / 398

    本图书信息来源:互动出版

  • 相关阅读:
    textarea宽度、高度自动适应处理方法
    Table嵌套去掉子table的外边框
    发现原来自己挺能给自己找理由开脱的
    Life is not the amount of breath you take.
    在遍历ResultSet的循环中再执行SQL会发生什么(前提:同一个Statement)
    按月查询数据
    Oracle SQL 判断某表是否存在
    在Python程序中执行linux命令
    在Oracle中十分钟内创建一张千万级别的表
    Redis Sentinel结构 及相关文档
  • 原文地址:https://www.cnblogs.com/china-pub/p/3520236.html
Copyright © 2011-2022 走看看