Skip to content

Commit

Permalink
update text spacing with pandu and some manual adjustments
Browse files Browse the repository at this point in the history
  • Loading branch information
yingang committed Jan 19, 2022
1 parent c7343c4 commit bf82fb3
Show file tree
Hide file tree
Showing 18 changed files with 535 additions and 536 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 设计数据密集型应用 - 中文翻译
# 设计数据密集型应用 - 中文翻译

- 作者: [Martin Kleppmann](https://martin.kleppmann.com)
- 原名:[《Designing Data-Intensive Applications》](http://shop.oreilly.com/product/0636920032175.do)
Expand All @@ -8,8 +8,8 @@


> 使用 [Typora](https://www.typora.io)[Gitbook](https://vonng.gitbook.io/vonng/)[Github Pages](https://vonng.github.io/ddia) 以获取最佳阅读体验。
>
> 本地:你可在项目根目录中执行`make`,并通过浏览器阅读([在线预览](http://ddia.vonng.com/#/))。
>
> 本地:你可在项目根目录中执行 `make`,并通过浏览器阅读([在线预览](http://ddia.vonng.com/#/))。
## 译序

Expand All @@ -25,7 +25,7 @@

本书为数据系统的设计、实现、与评价提供了很好的概念框架。读完并理解本书内容后,读者可以轻松看破大多数的技术忽悠,与技术砖家撕起来虎虎生风🤣。

这是2017年译者读过最好的一本技术类书籍,这么好的书没有中文翻译,实在是遗憾。某不才,愿为先进技术文化的传播贡献一份力量。既可以深入学习有趣的技术主题,又可以锻炼中英文语言文字功底,何乐而不为?
这是 2017 年译者读过最好的一本技术类书籍,这么好的书没有中文翻译,实在是遗憾。某不才,愿为先进技术文化的传播贡献一份力量。既可以深入学习有趣的技术主题,又可以锻炼中英文语言文字功底,何乐而不为?


## 前言
Expand All @@ -34,9 +34,9 @@
---------

> 计算是一种流行文化,流行文化鄙视历史。 流行文化关乎个体身份和参与感,但与合作无关。流行文化活在当下,也与过去和未来无关。 我认为大部分(为了钱)编写代码的人就是这样的, 他们不知道自己的文化来自哪里。
> 计算是一种流行文化,流行文化鄙视历史。 流行文化关乎个体身份和参与感,但与合作无关。流行文化活在当下,也与过去和未来无关。 我认为大部分(为了钱)编写代码的人就是这样的, 他们不知道自己的文化来自哪里。
>
> ——阿兰·凯接受Dobb博士的杂志采访时(2012年
> —— 阿兰・凯接受 Dobb 博士的杂志采访时(2012 年

## 目录
Expand Down Expand Up @@ -127,7 +127,7 @@

从原作者处得知,已经有简体中文的翻译计划,将于2018年末完成。[购买地址](https://search.jd.com/Search?keyword=设计数据密集型应用)

译者纯粹出于**学习目的****个人兴趣**翻译本书,不追求任何经济利益。
译者纯粹出于 **学习目的****个人兴趣** 翻译本书,不追求任何经济利益。

译者保留对此版本译文的署名权,其他权利以原作者和出版社的主张为准。

Expand Down
4 changes: 2 additions & 2 deletions ch10.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ MapReduce是一个编程框架,你可以使用它编写代码来处理HDFS等

这四个步骤可以作为一个MapReduce作业执行。步骤2(Map)和4(Reduce)是你编写自定义数据处理代码的地方。步骤1(将文件分解成记录)由输入格式解析器处理。步骤3中的排序步骤隐含在MapReduce中 —— 你不必编写它,因为Mapper的输出始终在送往Reducer之前进行排序。

要创建MapReduce作业,你需要实现两个回调函数,Mapper和Reducer,其行为如下(请参阅“[MapReduce查询](ch2.md#MapReduce查询)”):
要创建MapReduce作业,你需要实现两个回调函数,Mapper和Reducer,其行为如下(请参阅“[MapReduce 查询](ch2.md#MapReduce查询)”):

* Mapper

Expand All @@ -238,7 +238,7 @@ MapReduce是一个编程框架,你可以使用它编写代码来处理HDFS等

MapReduce与Unix命令管道的主要区别在于,MapReduce可以在多台机器上并行执行计算,而无需编写代码来显式处理并行问题。Mapper和Reducer一次只能处理一条记录;它们不需要知道它们的输入来自哪里,或者输出去往什么地方,所以框架可以处理在机器之间移动数据的复杂性。

在分布式计算中可以使用标准的Unix工具作为Mapper和Reducer【25】,但更常见的是,它们被实现为传统编程语言的函数。在Hadoop MapReduce中,Mapper和Reducer都是实现特定接口的Java类。在MongoDB和CouchDB中,Mapper和Reducer都是JavaScript函数(请参阅“[MapReduce查询](ch2.md#MapReduce查询)”)。
在分布式计算中可以使用标准的Unix工具作为Mapper和Reducer【25】,但更常见的是,它们被实现为传统编程语言的函数。在Hadoop MapReduce中,Mapper和Reducer都是实现特定接口的Java类。在MongoDB和CouchDB中,Mapper和Reducer都是JavaScript函数(请参阅“[MapReduce 查询](ch2.md#MapReduce查询)”)。

[图10-1](img/fig10-1.png)显示了Hadoop MapReduce作业中的数据流。其并行化基于分区(请参阅[第六章](ch6.md)):作业的输入通常是HDFS中的一个目录,输入目录中的每个文件或文件块都被认为是一个单独的分区,可以单独处理map任务([图10-1](img/fig10-1.png)中的m1,m2和m3标记)。

Expand Down
Loading

0 comments on commit bf82fb3

Please sign in to comment.