2012-04-11 385 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。