其实也不算全部读完了,读它主要是为了技术选型,考虑升级持久层架构、提高系统可扩展性,仔细研读了前几章,对Hadoop、MapReduce、HDFS的模型、机制、使用场景有了一定了解。后面几章及其生态圈内的其他项目抱着了解的心态简单浏览了一下。整体感觉还行,至少从我看过的章节来看,还是满足了我的需求,顺利完成任务了。
第二版基于 0.20系列发行版本,新增了Hive(使用SQL做分析)和Sqoop(在RDBMS和Hadoop之间建立连接,做导入导出)等小部分内容。
翻译质量:
我一向对中译本技术书籍不报太大期望,所以看之前都会备好原版的PDF,但毕竟看中文的进度会快些嘛。整体来说,翻译的还可以,没查过一次英文原版,都能看明白说的是什么,只有为数不多的英文长句翻译的比较拗口(这是英文技术类文章翻译的普遍问题,可以理解)
解决了看之前的几个问题,这里特别提出来,如果你也在技术选型,可以参考一下:
0. 配置简单、扩展性强、容错性强、生态圈健全(搭配项目较多)、Apache顶级项目更新频繁有保障、等等优点;
1. Hadoop是为大文件(百MB~百TB)设计的;
2. 适合写入次数少但量大,读取次数多且量大(几乎全部数据集),所以是以高数据访问延迟换高数据吞吐量;
3. 海量小文件不合适;
4. 文件只能append,不支持多个写入者的操作;
5. 以大数据块换最小化寻址开销;
6. 不支持多数据中心(就是一定要在一个局域网中);
7. 没必要再组RAID,硬件要求不高(但也要是商业级服务器)
总体感觉,适合的应用场景:
1. 为数据提供冗余备份,通过简单的增加设备满足扩展需求,且成本较低;
2. 为搜索引擎做支撑
2. 对已有海量数据做分析,机器学习,推荐算法,等等。