如何提高 Amazon Elastic Mapreduce 执行作业的性能?

如何提高 Amazon Elastic Mapreduce 执行作业的性能?

我的任务是:

  1. 最初,我想使用 SQOOP 将数据从 MS SQL Server 导入 HDFS。
  2. 通过 Hive 我处理数据并在一个表中生成结果
  3. 包含来自 Hive 的表的结果再次被导出到 MS SQL SERVER。

所有这些事情我都必须借助 Amazon Services 来实现。(就我而言,我使用 Amazon S3 来存储数据,并使用 Amazon Elastic Map Reduce。)

实际上,我从 MS SQL Server 导入的数据非常大(一个表中大约有 5,000,000 个条目。同样,我有 30 个表)。为此,我在 Hive 中编写了一个仅包含查询的任务(并且每个查询都使用了大量连接)。因此,在我的单个本地机器上,性能非常差(完全执行大约需要 3 小时)。

我想尽可能减少这段时间。为此,我们决定使用 Amazon Elastic Mapreduce。目前我正在使用十个 m1.large 实例,但性能仍然与我的单台本地机器相同。

还有什么其他方法可以提高性能或只是增加实例数量?

为了提高性能,我需要使用多少个实例?

相关内容