前言 1
第1章 系统架构/运用技巧 5
运行HDFS环境的参数 6
运行MapReduce环境需要的参数 7
总结 8
文件描述符的设置 9
Java的安装 10
总结 11
本技巧中介绍的HA的构成 11
HA集群的构建过程 13
疑难解答 31
总结 33
可以获取的统计信息 34
总结 40
关于CDH3同一版本间的更新 41
总结 42
准备 43
理解操作 43
使用Oracle的操作确认 45
总结 52
Sqoop的PostgreSQL联合功能 53
在PostgreSQL中的使用 53
PostgreSQL联合的挑战 55
总结 55
什么是Azkaban 55
Azkaban的安装 56
总结 61
作业的定制 61
总结 66
第2章 应用程序开发技巧 67
将Hadoop配置文件拷贝到外部应用程序 67
从应用程序操作MapReduce 68
总结 69
什么是InMapperCombiner 70
InMapperCombiner的实现方法 70
总结 72
自定义Writable类型主要分为两种 73
如何生成一个Writable接口的子类 73
总结 75
自定义Partitioner的实现方法 75
总结 77
什么是DistributedCache 78
DistributedCache的使用 78
总结 79
自定义CombineFileInputFormat的实现 80
自定义CombineFileInputFormat的使用 84
总结 86
获取MRUnit Jar文件 87
Map的测试 87
Reduce的测试 88
测试MapReduce作业 88
总结 89
生成自定义Writable 90
生成GroupingComparatorClass 90
生成PartitionerClass 91
生成SortComparatorClass 91
设置各个Comparator 92
总结 92
数据的内容 93
Map端连接的代码 93
输出结果 94
单独读入文件进行连接 94
总结 95
数据的内容 95
Map的定义 95
Reduce的定义 96
作业的定义 96
输出结果 97
总结 97
定义作业 98
总结 100
InputFormat类 100
OutputFormat类 102
总结 104
Cassandra的hadoop程序包内容 105
Map类 105
Reduce类 106
定义作业 106
总结 107
获取文件系统信息 108
操作HDFS的API 109
总结 111
分析的要点 112
用计数器可以确认的项目 112
处理结束后的确认方法 113
经过一定时间后的确认方法 114
作业历史的管理方法 115
总结 115
Hadoop中可以处理的压缩格式 116
Hadoop中处理lzo压缩的准备 116
在MapReduce程序中处理压缩文件 117
在Hive中处理压缩文件 120
总结 121
第3章 HBase技巧 122
importtsv工具 122
completebulkload工具 123
总结 123
sqoop import 124
自定义PutTransformer 124
总结 125
用于HFileOutputFormat的Mapper 126
作业的设置 126
总结 127
Java API 128
HBase shell 129
总结 129
什么是协处理器 130
Observer 130
Endpoint 132
总结 135
创建自定义Filter 135
配置自定义Filter 137
总结 138
export工具 138
import工具 139
总结 139
复制机制 139
配置 140
数据的确认 141
总结 141
第4章 Hive技巧 142
SQL语句和HiveQL语句的书写方法的不同 143
SELECT句中不存在的列不能排序 147
NULL的处理 147
ROWNUM关联 148
总结 148
标点字符、带圈字符的存在 149
PK的存在 149
加载数据 149
Join时的数据保持方法 150
WHERE句中的比较条件 150
置换处理和UDF 150
key数和Out Of Memory 150
总结 151
处理单位 151
ORDER BY语句和SORT BY语句 151
输出中间连接表 152
MapReduce任务不发生的处理 153
一次连接多个表 153
总结 153
查询高速化的探讨 154
总结 158
Hive的用户定义函数 159
UDF的安装 159
UDAF的实现 161
使用用户定义函数 164
总结 165
什么是SerDe 165
文本数据的情况(使用RegexSerDe) 166
文本数据的情况(使用CSV用的非标准SerDe) 167
结构化/二进制数据的场合(使用JSON用的非标准SerDe) 169
总结 171
使用TRANSFORM句 171
使用UDAF 174
总结 176
使用注释 176
使用模式 177
使用锁定机制 178
总结 181
流程 182
使用方法 182
总结 186
Hive的日志的种类 187
通过Hive会话日志可以确认的内容 187
总结 190
Hive-HDFS-RDBMS的关系 190
向Hive的直接导入 191
文件形式和直接导入的关系 193
列指定·WHERE条件指定 195
指定了Hive的分区key的导入 197
总结 198
Hive→Oracle的差异数据的交换 200
总结 203
第5章 Pig技巧 204
进行LOAD处理要实现的项目 204
进行STORE处理需要实现的项目 206
在一个UDF中实现LOAD和STORE的处理 208
总结 209
数据的保存方法 209
MapReduce作业的评价方法 210
用户单独的处理 210
输出的日志 211
总结 211
Pig的用户定义函数 211
用户定义函数中可以使用的数据类型 212
用户定义函数的实现和使用方法 212
总结 218
Java中的PigLatin嵌入方法 218
执行范例 219
总结 220
DESCRIBE:确认数据结构 221
EXPLAIN:确认MapReduce的执行计划 222
DUMP:显示处理内容 225
总结 226
数学函数 226
字符串操作函数 227
总结 228
第6章 Mahout技巧 229
可以做什么 230
推荐(Recommendation) 230
聚类(Clustering) 230
分类(Classification) 231
其他 231
总结 231
安装 232
执行方法 232
总结 234
总结 237
输入数据的形式 237
处理的执行 237
执行命令的内容 238
与文本数据的对应 239
总结 247
输入数据 248
执行关联分析 248
执行结果文件 250
总结 251
从学习(预测模型)到预测的过程 252
预测模型的构建和应用 253
总结 264
分布式并行化的必要性 264
随机森林的分布式并行图像 264
In-memory模式 269
总结 273
应用例子 274
创建方法 274
创建驱动程序 276
使用驱动程序 276
总结 278
K平均法 278
输入数据的形式 278
输入数据的变换 278
执行kmeans 279
获取执行结果 279
结果文件的内容 280
总结 280
第7章 ZooKeeper技巧 281
客户端程序库 282
简单的API 282
与ZooKeeper的连接和断开 282
znode的创建 285
确认znode的存在 288
从znode读取数据 289
znode中写入数据 290
删除znode 291
获取子节点的列表 291
总结 293
认证方案 293
ACL和权限 293
ACL的设置(setACL) 294
获取ACL(getACL) 296
总结 297
操作 298
总结 307
启动 307
连接 308
操作数据 308
尝试监视 310
完成 311
总结 312
体系结构 312
Rest服务器的启动 312
总结 316
C客户端程序库 319
总结 320
什么是tickTime? 321
设置方法 321
设置其他tickTime影响的项目 321
以其他tickTime为基准进行的处理 324
总结 325
什么是ZAB 326
使用ZAB的ZooKeeper内部处理 326
两阶段提交 327
总结 329
构成ensemble 329
leader选出运算法则 332
总结 333
状态 334
总结 338
分组 339
权重 340
总结 342
分布并行队列的实现 342
总结 351
什么是BookKeeper 351
BookKeeper的基本操作 354
尝试BookKeeper 354
有效利用BookKeeper 360
总结 361
实现介绍 361
使用方法 365
使用示例 366
总结 366