五位譯者你選誰?

李鬆峰發表於2015-03-27

以下是幾位應徵Learning Spark(《Spark快速大資料分析》)一書翻譯的譯者的幾段譯文對“目標讀者”一節第一段的翻譯。假設每位譯者都只翻譯了這一段,通過比較你會選擇哪一位呢?

【原文】 This book targets data scientists and engineers. We chose these two groups because they have the most to gain from using Spark to expand the scope of problems they can solve. Spark’s rich collection of data-focused libraries (like MLlib) makes it easy for data scientists to go beyond problems that fit on a single machine while using their statistical background. Engineers, meanwhile, will learn how to write general purpose distributed programs in Spark and operate production applications. Engineers and data scientists will both learn different details from this book, but will both be able to apply Spark to solve large distributed problems in their respective fields.

【譯者一】本書的目標讀者是資料科學家和工程師。我們之所以選擇這兩類讀者是因為他們能從使用Spark來擴充套件他們能解決的問題域中受益最多。Spark有一組豐富的聚焦資料的庫(如MLlib),能讓資料科學家在利用他們的統計學背景的同時,容易解決超出單機能力的問題。同時,工程師將從本書中學到如何編寫通用的Spark分散式程式和運維生產應用。資料科學家和工程師將從本書中學到不同的細節,但都將能夠在他們各自的領域應用Spark來解決大型的分散式問題。

【譯者二】本書的目標讀者是資料科學家和工程師們。我們之所以選擇這兩類人員,是因為他們使用Spark能獲得最大的益處,來擴充套件他們能解決問題的範疇。Spark豐富的資料程式依賴庫(比如MLlib),使得資料科學家能使用他們的統計學背景,很容易地突破原本只適合單機解決的問題。同時對於工程師來說,可以學到如何在Spark中編寫一般的分散式程式和操作生產環境中的應用。工程師和資料科學家可以從本書中學到不同的細節,但同時都能夠將Spark應用到他們各自的領域,來解決大型的分散式問題。

【譯者三】本書主要面向資料科學家和工程師。之所以選擇這兩類受眾是因為使用Spark能夠最大限度地提升他們解決問題的範圍。Spark豐富的資料處理庫集合(如MLlib)能夠使資料科學家輕鬆地以其原有的統計學背景知識來解決單節點所無法解決的問題。於此同時,工程師們能夠使用Spark寫出通用的分散式程式並投入生產應用。工程師和資料科學家都能從此書中學習到不同的細節知識,並且都能使用Spark在其各自領域解決大型分散式問題。

【譯者四】本書的目標讀者是資料科學家和工程師。我們選擇這樣兩個群體的原因在於他們能夠利用Spark去解決一些他們可能會遇到但是沒有辦法解決的問題。Spark提供功能豐富的資料操作庫(例如MLlib),可以幫助資料科學家利用他們自己的統計學背景知識,研究資料集大小遠遠超過單機所能處理極限的資料問題。與此同時,工程師們則可以從本書中學習利用Spark編寫通用的分散式程式並運營這些應用。工程師和資料科學家都能從本書中學到各自需要的具體技能的同時,獲得在各自領域中利用Spark解決大型分散式問題的能力。

【譯者五】本書的目標讀者是資料科學家和工程師。之所以選擇這兩個群體,是因為他們能夠使用Spark解決原先無法解決的問題,而且從中獲益最大。Spark有著豐富的面向資料的庫(如MLlib),讓資料科學家能輕鬆面對原先單機無法處理的問題,還能利用他們的統計學背景。而工程師則可以利用Spark寫出通用的分散式程式,並且運維產品級應用。這本書可以讓工程師和資料科學家各得其所,各取所需,同時運用Spark解決各自領域的大型分散式問題。


2015-3-27 13:29 再增補幾段五位譯者對技術內容的翻譯。

【原文】Spark Runtime Architecture

Before we dive into the specifics of running Spark on a cluster, it’s helpful to understand the architecture of Spark in distributed mode (illustrated in Figure 7-1).

五位譯者你選誰?

Figure 7-1. The components of a distributed Spark application

In distributed mode, Spark uses a master/slave architecture with one central coordinator and many distributed workers. The central coordinator is called the driver. The driver communicates with a potentially large number of distributed workers called executors. The driver runs in its own Java process and each executor is a separate Java process. A driver and its executors are together termed a Spark application.

A Spark application is launched on a set of machines using an external service called a cluster manager. As noted, Spark is packaged with a built-in cluster manager called the Standalone cluster manager. Spark also works with Hadoop YARN and Apache Mesos, two popular open source cluster managers.

【譯者一】Spark執行時架構

理解分散式模式下Spark的架構有助於深入在一個叢集中執行Spark的細節。

在分散式模式下,Spark使用的是主-從(master-slave)架構,由一個居中的協調者和許多工作者組成。這個居中的協調者稱為driver。driver和可能是大量的稱為executor的分散式工作者通訊。driver執行在自己的Java程式中,而每一個executor是一個單獨的Java程式。一個driver和它的executor一起稱為一個Spark應用。

一個Spark應用通過一個稱為叢集管理器的外部服務在一組機器上被啟動。Spark自帶了一個內建叢集管理器,稱為Standalone叢集管理器。Spark也可以和Hadoop YARN以及Apache Mesos這兩個流行的開源叢集管理器搭配工作。

【譯者二】Spark執行時架構

在深入講解如何執行Spark叢集的細節之前,理解Spark叢集模式的架構會非常有幫助。

在叢集模式下,Spark使用master-slave的架構,它由一箇中心協調者和許多分散式的worker組成。這個中心協調者被稱為驅動程式(driver)。驅動程式和大量分散式的worker進行通訊,這些worker則被稱為執行器(executor)。驅動程式執行在自己的java程式中,而每一個執行器也都是獨立的java程式。一個驅動程式和它的多個執行器共同組成了一個Spark應用。

一個Spark應用是由一個外部的服務(叫做叢集管理器),在一組伺服器上被啟動起來。Spark有一個自帶的叢集管理器,叫做獨立(standalone)叢集管理器。同時,Spark也能在另兩個流行的開源叢集管理器Hadoop Yarn和Apache Mesos上執行。

【譯者三】Spark執行時架構

在深入到Spark叢集模式執行的細節之前,首先了解一下Spark分散式架構是非常有幫助的。

在分散式模式下,Spark使用一箇中心排程器和多個工作節點這樣的主-從架構。中心排程器被稱之為驅動節點(driver)。驅動節點與大量的分散式工作節點進行通訊,這些分散式的工作節點被稱之為執行器(executor)。驅動節點在其自身的Java程式內執行,每一個執行器也是一個個獨立的Java程式。驅動節點和所有的執行器共同構成了Spark的應用程式。

一個Spark應用程式由一個被稱之為叢集管理器的外部服務所啟動起來。Spark在打包時已經內建了稱之為Standalone的叢集管理器。同時Spark也可以在Hadoop YARN和Apache Mesos這兩個開源的叢集管理器上工作。

【譯者四】Spark執行環境架構

在我們深入探討如何在叢集上執行spark之前,我們先了解一下Spark在分散式環境中的架構,這對我們理解在叢集上執行spark的具體細節是很有幫助的。

在分散式環境下,Spark叢集採用的是主從結構。在一個Spark叢集中,有一個節點負責居中協調,排程各個分散式從節點。這個中央協調節點被稱為驅動者(Driver),與之對應的工作節點被稱為執行者(executor)。驅動者可以和大量的執行者進行通訊,它們也都作為獨立的java程式執行。驅動者和所有的執行者一起,被稱為一個Spark應用。

Spark應用在一個外部叢集管理器上被分發到叢集中的機器上。通過Spark內建的叢集管理器執行的方法被稱為Standalone模式。Spark也能執行在兩大開源叢集管理器YARN和Mesos上。

【譯者五】Spark執行時架構

深入探討在叢集上執行Spark之前,有必要先理解分散式模式下Spark的架構(圖7-1)。

圖7-1 分散式Spark應用程式的構成

在分散式模式下,Spark使用主/從架構,包括一箇中央協調節點和多個分散式工作節點。這個中央協調節點叫做驅動節點(driver),而可能會有很多的分散式工作節點叫做執行節點(executor),驅動節點與執行節點之間保持通訊。驅動節點執行於自已的Java程式內,每個執行節點也是獨立的Java程式。驅動節點及其所有執行節點共同構成Spark應用程式。

Spark應用程式執行在一組機器上,並且要使用一個叫做叢集管理器(cluster manager)的外部服務。前面提到過,Spark自身帶有一個名為Standalone的內建叢集管理器。除此之外,Spark應用程式也可以使用Hadoop YARN和Apache Mesos這兩個流行的開源叢集管理器。

相關文章