Hadoop Hacks(中文版)
中野猛, 山下真一, 猿田浩辅, 上新卓也, 小林隆
常娜, 陈新 译
出版时间:2013年11月
页数:374
本书面向已经掌握了Hadoop基础知识的读者,总结了实际环境下灵活操作Hadoop的方法和技巧。这些技巧涵盖的内容非常广泛,包括了从系统构建/运行、应用程序开发等灵活利用Hadoop特性的方法,到有关HBase、Hive、Pig、Mahout、ZooKeeper等子项目的技巧。书中描述了高效利用Hadoop所必备的工具及其使用方法、了解内部运行情形的方法、先进技术等开发环境必备的74个技巧。本书由较早开始关注并在实际项目中灵活使用Hadoop的技术人员执笔,是那些希望快速运用Hadoop 的工程师必备的一本工具书。
  1. 前言
  2. 第1章 系统架构/运用技巧
  3. 运行HDFS环境的参数
  4. 运行MapReduce环境需要的参数
  5. 总结
  6. 文件描述符的设置
  7. Java的安装
  8. 总结
  9. 本技巧中介绍的HA的构成
  10. HA集群的构建过程
  11. 疑难解答
  12. 总结
  13. 可以获取的统计信息
  14. 总结
  15. 关于CDH3同一版本间的更新
  16. 总结
  17. 准备
  18. 理解操作
  19. 使用Oracle的操作确认
  20. 总结
  21. Sqoop的PostgreSQL联合功能
  22. 在PostgreSQL中的使用
  23. PostgreSQL联合的挑战
  24. 总结
  25. 什么是Azkaban
  26. Azkaban的安装
  27. 总结
  28. 作业的定制
  29. 总结
  30. 第2章 应用程序开发技巧
  31. 将Hadoop配置文件拷贝到外部应用程序
  32. 从应用程序操作MapReduce
  33. 总结
  34. 什么是InMapperCombiner
  35. InMapperCombiner的实现方法
  36. 总结
  37. 自定义Writable类型主要分为两种
  38. 如何生成一个Writable接口的子类
  39. 总结
  40. 自定义Partitioner的实现方法
  41. 总结
  42. 什么是DistributedCache
  43. DistributedCache的使用
  44. 总结
  45. 自定义CombineFileInputFormat的实现
  46. 自定义CombineFileInputFormat的使用
  47. 总结
  48. 获取MRUnit Jar文件
  49. Map的测试
  50. Reduce的测试
  51. 测试MapReduce作业
  52. 总结
  53. 生成自定义Writable
  54. 生成GroupingComparatorClass
  55. 生成PartitionerClass
  56. 生成SortComparatorClass
  57. 设置各个Comparator
  58. 总结
  59. 数据的内容
  60. Map端连接的代码
  61. 输出结果
  62. 单独读入文件进行连接
  63. 总结
  64. 数据的内容
  65. Map的定义
  66. Reduce的定义
  67. 作业的定义
  68. 输出结果
  69. 总结
  70. 定义作业
  71. 总结
  72. InputFormat类
  73. OutputFormat类
  74. 总结
  75. Cassandra的hadoop程序包内容
  76. Map类
  77. Reduce类
  78. 定义作业
  79. 总结
  80. 获取文件系统信息
  81. 操作HDFS的API
  82. 总结
  83. 分析的要点
  84. 用计数器可以确认的项目
  85. 处理结束后的确认方法
  86. 经过一定时间后的确认方法
  87. 作业历史的管理方法
  88. 总结
  89. Hadoop中可以处理的压缩格式
  90. Hadoop中处理lzo压缩的准备
  91. 在MapReduce程序中处理压缩文件
  92. 在Hive中处理压缩文件
  93. 总结
  94. 第3章 HBase技巧
  95. importtsv工具
  96. completebulkload工具
  97. 总结
  98. sqoop import
  99. 自定义PutTransformer
  100. 总结
  101. 用于HFileOutputFormat的Mapper
  102. 作业的设置
  103. 总结
  104. Java API
  105. HBase shell
  106. 总结
  107. 什么是协处理器
  108. Observer
  109. Endpoint
  110. 总结
  111. 创建自定义Filter
  112. 配置自定义Filter
  113. 总结
  114. export工具
  115. import工具
  116. 总结
  117. 复制机制
  118. 配置
  119. 数据的确认
  120. 总结
  121. 第4章 Hive技巧
  122. SQL语句和HiveQL语句的书写方法的不同
  123. SELECT句中不存在的列不能排序
  124. NULL的处理
  125. ROWNUM关联
  126. 总结
  127. 标点字符、带圈字符的存在
  128. PK的存在
  129. 加载数据
  130. Join时的数据保持方法
  131. WHERE句中的比较条件
  132. 置换处理和UDF
  133. key数和Out Of Memory
  134. 总结
  135. 处理单位
  136. ORDER BY语句和SORT BY语句
  137. 输出中间连接表
  138. MapReduce任务不发生的处理
  139. 一次连接多个表
  140. 总结
  141. 查询高速化的探讨
  142. 总结
  143. Hive的用户定义函数
  144. UDF的安装
  145. UDAF的实现
  146. 使用用户定义函数
  147. 总结
  148. 什么是SerDe
  149. 文本数据的情况(使用RegexSerDe)
  150. 文本数据的情况(使用CSV用的非标准SerDe)
  151. 结构化/二进制数据的场合(使用JSON用的非标准SerDe)
  152. 总结
  153. 使用TRANSFORM句
  154. 使用UDAF
  155. 总结
  156. 使用注释
  157. 使用模式
  158. 使用锁定机制
  159. 总结
  160. 流程
  161. 使用方法
  162. 总结
  163. Hive的日志的种类
  164. 通过Hive会话日志可以确认的内容
  165. 总结
  166. Hive-HDFS-RDBMS的关系
  167. 向Hive的直接导入
  168. 文件形式和直接导入的关系
  169. 列指定·WHERE条件指定
  170. 指定了Hive的分区key的导入
  171. 总结
  172. Hive→Oracle的差异数据的交换
  173. 总结
  174. 第5章 Pig技巧
  175. 进行LOAD处理要实现的项目
  176. 进行STORE处理需要实现的项目
  177. 在一个UDF中实现LOAD和STORE的处理
  178. 总结
  179. 数据的保存方法
  180. MapReduce作业的评价方法
  181. 用户单独的处理
  182. 输出的日志
  183. 总结
  184. Pig的用户定义函数
  185. 用户定义函数中可以使用的数据类型
  186. 用户定义函数的实现和使用方法
  187. 总结
  188. Java中的PigLatin嵌入方法
  189. 执行范例
  190. 总结
  191. DESCRIBE:确认数据结构
  192. EXPLAIN:确认MapReduce的执行计划
  193. DUMP:显示处理内容
  194. 总结
  195. 数学函数
  196. 字符串操作函数
  197. 总结
  198. 第6章 Mahout技巧
  199. 可以做什么
  200. 推荐(Recommendation)
  201. 聚类(Clustering)
  202. 分类(Classification)
  203. 其他
  204. 总结
  205. 安装
  206. 执行方法
  207. 总结
  208. 总结
  209. 输入数据的形式
  210. 处理的执行
  211. 执行命令的内容
  212. 与文本数据的对应
  213. 总结
  214. 输入数据
  215. 执行关联分析
  216. 执行结果文件
  217. 总结
  218. 从学习(预测模型)到预测的过程
  219. 预测模型的构建和应用
  220. 总结
  221. 分布式并行化的必要性
  222. 随机森林的分布式并行图像
  223. In-memory模式
  224. 总结
  225. 应用例子
  226. 创建方法
  227. 创建驱动程序
  228. 使用驱动程序
  229. 总结
  230. K平均法
  231. 输入数据的形式
  232. 输入数据的变换
  233. 执行kmeans
  234. 获取执行结果
  235. 结果文件的内容
  236. 总结
  237. 第7章 ZooKeeper技巧
  238. 客户端程序库
  239. 简单的API
  240. 与ZooKeeper的连接和断开
  241. znode的创建
  242. 确认znode的存在
  243. 从znode读取数据
  244. znode中写入数据
  245. 删除znode
  246. 获取子节点的列表
  247. 总结
  248. 认证方案
  249. ACL和权限
  250. ACL的设置(setACL)
  251. 获取ACL(getACL)
  252. 总结
  253. 操作
  254. 总结
  255. 启动
  256. 连接
  257. 操作数据
  258. 尝试监视
  259. 完成
  260. 总结
  261. 体系结构
  262. Rest服务器的启动
  263. 总结
  264. C客户端程序库
  265. 总结
  266. 什么是tickTime?
  267. 设置方法
  268. 设置其他tickTime影响的项目
  269. 以其他tickTime为基准进行的处理
  270. 总结
  271. 什么是ZAB
  272. 使用ZAB的ZooKeeper内部处理
  273. 两阶段提交
  274. 总结
  275. 构成ensemble
  276. leader选出运算法则
  277. 总结
  278. 状态
  279. 总结
  280. 分组
  281. 权重
  282. 总结
  283. 分布并行队列的实现
  284. 总结
  285. 什么是BookKeeper
  286. BookKeeper的基本操作
  287. 尝试BookKeeper
  288. 有效利用BookKeeper
  289. 总结
  290. 实现介绍
  291. 使用方法
  292. 使用示例
  293. 总结
书名:Hadoop Hacks(中文版)
译者:常娜, 陈新 译
国内出版社:中国电力出版社
出版时间:2013年11月
页数:374
书号:978-7-5123-4635-2
原版书书名:HADOOP HACKS
原版书出版商:O'Reilly Media
中野猛
 
中野 猛(nakano takeshi)
1976年出生于兵库县。从奈良先端大学毕业后进入招聘股份公司工作。在信息系统部门MIT中,从事Web基础设施的构建以及R25等网站建立、开发、运用等。期间,推进了Solr等OSS的导入和高速缓存、中间件开发等。近两年正在以Hadoop为中心进行探索研究。爱好是潜水(最喜欢的地方是墨西哥、拉巴斯)。twitter:@tf0054
 
 
山下真一
 
山下 真一(yamashita sinichi)
NTT股份公司数据专员。进入公司以来一直从事基于OSS的基础系统的配置、构建、评价。最近增加了以Hadoop为中心的基础系统的配置、构建、评价的研究,正在研究效率更高的处理MapReduce的方法。相比Hive来说,更偏好Pig。
 
 
猿田浩辅
 
猿田 浩辅(saruta kousuke)
NTT股份公司数据勤务。2009年进入公司以来,从事以Hadoop为开端的OSS的导入支持和技术验证与开发工作。目前,不仅构建了规模达数百台的Hadoop集群,还在实施应用程序的设计支持等。最近进行从RDBMS向Hive的业务移动和Pig的导入支持等工作。特别喜欢猫,爱吃甜食,自称“甜点工程师”。
 
 
上新卓也
 
上新 卓也(ueshin takuya)
从事过网络开发公司中的广告系统和存取解析,后来成为自由职业者。通过工作了解到Hadoop,特别热衷于HBase,在自己家中正在使用HBase集群。目前就职于Nautilus技术股份公司。twitter:@ueshin
 
 
小林隆
 
小林 隆(kobayeshi ryu)
最近主要从事使用cloud的开发、使用Hadoop的MapReduce的开发,以及使用NoSQL的开发。另外,还开发了Cassndra公开源代码的GUI(http://code.google.com/a/apache-extras.org/p/cassandra-gui/)。翻译作品有“Cassandra”(O’Reilly)等。twitter:@ryu_kobayashi