2012-04-11 193 views
9

我在Hive中實現了一項任務。目前它在我的單節點集羣上工作正常。 現在我打算在AWS上部署它。Amazon EC2與亞馬遜EMR

我對AWS一無所知。如果我計劃部署它,那麼我應該選擇Amazon EC2還是Amazon EMR。

我想提高我的任務的性能。哪一個對我更好,更可靠?如何接近他們。我聽說我們也可以在AWS上註冊我們的虛擬機設置。可能嗎?

請儘快給我建議。

很多謝謝。

+0

這不是一個更多的SysAdmin問題,而不是一個編程問題......? – 2012-04-11 09:15:23

+0

在問題結束時從「儘快」推測,也許您應該嘗試通過電子郵件將問題發送給貴公司的平臺支持團隊;) – 2017-08-10 09:14:37

回答

14

EMR是安裝並配置了Hadoop(以及可選的Hive和/或Pig)的EC2實例的集合。如果您正在使用羣集來運行Hadoop/Hive/Pig作業,則EMR是最佳選擇。與EC2實例相比,EMR實例的成本稍高一些。今天對亞馬遜價格的快速檢查表明,小EC2實例成本爲0.08美元/小時,而小EMR實例成本爲0.015美元/小時。 在我看來,完全值得花費額外的資金來節省安裝和設置Hadoop(以及Hive和Pig),創建和維護AMI以及使用它的麻煩。此外,EMR的Hadoop和Hive版本還有一些在Apache Hive上不可用(至少還沒有)的補丁。如果你使用EC2,你可能會使用Apache Hadoop和配置單元(或者可能是,在Cloudera的分佈),不會有機會獲得這些修補程序(比如像ALTER TABLE my_table RECOVER PARTITIONS

參考S3或命令的本地支持:

+0

EMR和EC2定價https://aws.amazon.com/emr/pricing/ – Saad 2017-08-16 01:41:17

5

我建議你不要嘗試和部署你自己的Hadoop集羣,除非你有2-3個月的空閒時間,並且你有一個hadoop專家。

Elastic MapReduce通過提供預配置的hadoop環境,可以讓您快速入門。看到你只有一份工作,應該沒問題。

+0

That's Fine。在我的使用案例中,我想使用SQOOP從MS SQL Server導入數據。我使用Hive JDBC爲它創建了一個工作。 但我有大量的數據在MSSQL服務器(近GB的)。如果我必須每天/每週運行這個工作,那麼每天/每週從SQL-SERVER導入是否有效。如果我想出來這個問題並存儲這些數據n S3,那麼我怎樣才能在HDFS和S3之間建立鏈接。 (因爲Hive表的數據存儲在HDFS的/ user/hive/warehouse目錄中)。 – 2012-04-25 05:26:25

1

一般而言,從歷史上看,EMR是相當落後的Hadoop組件的最新版本,有些是完全缺失的,這是主要的REAS在使用另一個分配。例如,如果你想要HBase,它不在EMR中,但它不是。今天,Spark不在EMR中。 EMR通常會滯後。

也就是說,如果您不使用最新和最強大的功能,請使用EMR。