[DE] ML on Big data: MLlibhtml
常見問題:Can we consider AWS Glue as a replacement for EMR?算法
啓動集羣時,您須要選擇要安裝的框架和應用程序,以知足您的數據處理需求。要處理 Amazon EMR 集羣中的數據,您能夠直接向已安裝的應用程序提交做業或查詢,或在集羣中運行步驟。數據庫
您能夠直接向安裝在 Amazon EMR 集羣中的應用程序提交做業和與之交互。編程
爲此,您一般須要經過安全鏈接與主節點鏈接,並訪問可用於直接運行在集羣上的軟件的接口和工具。有關更多信息,請參閱 鏈接到集羣。緩存
您能夠向 Amazon EMR 集羣提交一個或多個有序的步驟。每一個步驟都是一個工做單位,其中包含可由集羣上安裝的軟件處理的數據操做指令。安全
下面是一個使用四個步驟的示例處理操做:app
提交要處理的輸入數據集。框架
使用 Pig 程序處理第一個步驟的輸出。(是MapReduce的一個抽象;使用 Pig Latin ,程序員能夠輕鬆地執行MapReduce做業,而無需在Java中鍵入複雜的代碼。)
使用 Hive 程序處理第二個輸入數據集。(hive是數據倉庫,在hadoop基礎上處理結構化數據。)
寫入一個輸出數據集。
數據倉庫和數據庫的區別?
通常來講,傳統數據庫是爲存儲而生,而數據倉庫很明顯,是爲分析而生。
一般,在 Amazon EMR 中處理數據時,輸入爲以文件形式存儲在您選擇的底層文件系統(如 Amazon S3 或 HDFS)中的數據。數據從處理序列中的一個步驟傳遞到下一個。最後一步將輸出數據寫入指定位置,如 Amazon S3 存儲桶。
步驟按下面的序列運行:
提交請求以開始處理步驟。
全部步驟的狀態均設爲 PENDING (待處理)。
序列中的第一個步驟啓動時,其狀態更改成 RUNNING (正在運行)。其餘步驟仍處於 PENDING (待處理) 狀態。
第一個步驟完成後,其狀態更改成 COMPLETED (已完成)。
序列中的下一個步驟啓動,其狀態更改成 RUNNING (正在運行)。完成時,其狀態更改成 COMPLETED (已完成)。
對每一個步驟重複這一模式,直到全部步驟均完成,處理結束。
下圖顯示了此步驟序列及隨着處理的進行各步驟的狀態更改。
若是處理期間步驟失敗,其狀態會更改成 TERMINATED_WITH_ERRORS。您能夠肯定接下來如何處理每一個步驟。默認狀況下,序列中的任何其他步驟設置爲 CANCELLED (取消) 而且不運行。您也能夠選擇忽略失敗並容許繼續執行其他步驟,或者當即終止集羣。
下圖顯示了此步驟序列和處理期間某個步驟失敗時默認的狀態變動。
成功的 Amazon EMR 集羣會遵循這個流程:
根據您指定的設置,Amazon EMR 先爲每一個實例預置集羣中的 EC2 實例。在這個期間,集羣的狀態是 STARTING。
Amazon EMR 在每一個實例上運行您指定的引導操做。您可使用引導操做安裝自定義應用程序並執行所需的自定義。
Amazon EMR 安裝在建立集羣時指定的本機應用程序,例如,Hive、Hadoop 和 Spark 等。
在成功完成引導操做並安裝本機應用程序後,集羣狀態爲RUNNING
。此時,您能夠鏈接到集羣實例,集羣將按順序運行在建立集羣時指定的任何步驟。您能夠提交額外的步驟,這些步驟在任何之前的步驟完成後運行。
在成功運行步驟後,集羣將進入WAITING
狀態。若是集羣配置爲在完成最後一個步驟後自動終止,則會進入SHUTTING_DOWN
狀態。
在終止全部實例後,集羣將進入COMPLETED
狀態。
集羣生命週期中的故障將致使 Amazon EMR 終止集羣及其全部實例,除非啓用了終止保護。若是集羣因爲故障而終止,則會刪除集羣上存儲的任何數據並將集羣狀態設置爲FAILED
。若是啓用了終止保護,您能夠從集羣中檢索數據,而後刪除終止保護並終止集羣。
Hadoop 分佈式文件系統 (HDFS)
EMR 文件系統 (EMRFS)
本地文件系統 (Local FS)
默認狀況下,Amazon EMR 使用 YARN (Yet Another Resource Negotiator) (Apache Hadoop 2.0 中引入的一個組件) 集中管理多個數據處理框架的集羣資源。
數據處理框架層是用於分析和處理數據的引擎。在 YARN 上運行並具備本身的資源管理功能的框架有不少,Hadoop MapReduce 和 Spark 是可用於 Amazon EMR 的主處理框架。
Spark 是一種用於處理大數據工做負載的集羣框架和編程模型。與 Hadoop MapReduce 同樣,Spark 是開源、分佈式的處理系統,但它爲執行計劃使用有向無環圖併爲數據集使用內存緩存。在 Amazon EMR 上運行 Spark 時,您可使用 EMRFS 直接訪問 Amazon S3 中的數據。Spark 支持多種交互式查詢模塊,如 SparkSQL。
Amazon EMR 支持許多應用程序,如 Hive、Pig 和 Spark Streaming 庫,以提供使用更高級的語言建立處理工做負載、運用機器學習算法、製做流處理應用程序、構建數據倉庫等功能。此外,Amazon EMR 還支持擁有本身的集羣管理功能而不使用 YARN 的開源項目。
End.