对于Hadoop,可以选择哪种数据存储,Amazon S3或Azure Blob存储?

时间:2012-05-07 23:22:48

标签: azure hadoop amazon-web-services emr

我正在研究一个Hadoop项目并在我的本地集群中生成大量数据。稍后我将使用基于云的Hadoop解决方案,因为我的Hadoop集群与实际工作负载相比非常小,但是我现在没有选择我将使用哪一个,即基于Windows Azure,EMR或其他。我在本地生成大量数据,并希望将这些数据存储到某些基于云的存储中,因为我将在稍后但很快就将这些数据用于Hadoop。

我正在寻找建议,根据某人的经验决定选择哪家云商店。提前致谢。

1 个答案:

答案 0 :(得分:1)

首先,这是一个很好的问题。让我们试着理解“如何在Hadoop中处理数据”:

  1. 在Hadoop中,当您处理任何数据时,所有数据都在Hadoop集群上处理,数据从其源复制到HDFS,HDFS是Hadoop的重要组成部分。
  2. 仅在您运行Map / Reduce作业后才能将数据复制到HDFS以获得结果。
  3. 这意味着您的数据源的位置和位置无关紧要(Amazon S3,Azure Blob,SQL Azure,SQL Server,内部源等),您必须将数据从源移动/传输/复制到HDFS ,在Hadoop的范围内。
  4. 在Hadoop集群中处理数据后,结果将存储在您在作业中配置的位置。输出数据源可以是HDFS或可从Hadoop Cluster

  5. 访问的外部位置
  6. 将数据复制到HDFS后,您可以根据需要将其保留为一个HDFS,但您必须付出代价才能使用Hadoop群集。

  7. 在某些情况下,当您在某个时间间隔内运行Hadoop Job并且数据移动/复制可以更快地完成时,最好有一个策略1)获取Hadoop集群2)复制数据3)运行作业4 )发布集群。

  8. 基于以上详细信息,当您在云中为Hadoop群集选择数据源时,您必须考虑以下事项:

    1. 如果要处理大数据(通常是Hadoop集群),请考虑不同的数据源以及将数据从这些数据源复制/移动到HDFS所需的时间,因为这将是您的第一步。

    2. 您需要选择一个必须具有最低网络延迟的数据源,以便尽可能快地获取数据。

    3. 您还需要考虑如何将大量数据从当前位置移动到任何云存储。最好的选择是拥有一个可以发送数据磁盘(HDD /磁带等)的存储空间,因为上传多个TB数据需要花费大量时间。

    4. Amazon EMR(已经可用),Windows Azure(CTP中的HadoopOnAzure)和Google(基于Google Dremel的预览中的BigQuery)在云中提供预先配置的Hadoop集群,以便您可以选择要运行的位置您的Hadoop工作然后您可以考虑云存储。

    5. 即使您选择了一个云数据存储并决定转移到另一个,因为您希望在云中使用其他Hadoop群集,您确定可以传输数据,但请考虑可用的时间和数据传输支持。

    6. 例如,使用HadooponAzure,您可以连接各种数据源,例如Amazon S3,Azure Blob存储,SQL Server和SQL Azure等,因此各种数据源对于任何云Hadoop集群都是最佳的。