我正在研究一个Hadoop项目并在我的本地集群中生成大量数据。稍后我将使用基于云的Hadoop解决方案,因为我的Hadoop集群与实际工作负载相比非常小,但是我现在没有选择我将使用哪一个,即基于Windows Azure,EMR或其他。我在本地生成大量数据,并希望将这些数据存储到某些基于云的存储中,因为我将在稍后但很快就将这些数据用于Hadoop。
我正在寻找建议,根据某人的经验决定选择哪家云商店。提前致谢。
答案 0 :(得分:1)
首先,这是一个很好的问题。让我们试着理解“如何在Hadoop中处理数据”:
在Hadoop集群中处理数据后,结果将存储在您在作业中配置的位置。输出数据源可以是HDFS或可从Hadoop Cluster
将数据复制到HDFS后,您可以根据需要将其保留为一个HDFS,但您必须付出代价才能使用Hadoop群集。
在某些情况下,当您在某个时间间隔内运行Hadoop Job并且数据移动/复制可以更快地完成时,最好有一个策略1)获取Hadoop集群2)复制数据3)运行作业4 )发布集群。
基于以上详细信息,当您在云中为Hadoop群集选择数据源时,您必须考虑以下事项:
如果要处理大数据(通常是Hadoop集群),请考虑不同的数据源以及将数据从这些数据源复制/移动到HDFS所需的时间,因为这将是您的第一步。
您需要选择一个必须具有最低网络延迟的数据源,以便尽可能快地获取数据。
您还需要考虑如何将大量数据从当前位置移动到任何云存储。最好的选择是拥有一个可以发送数据磁盘(HDD /磁带等)的存储空间,因为上传多个TB数据需要花费大量时间。
Amazon EMR(已经可用),Windows Azure(CTP中的HadoopOnAzure)和Google(基于Google Dremel的预览中的BigQuery)在云中提供预先配置的Hadoop集群,以便您可以选择要运行的位置您的Hadoop工作然后您可以考虑云存储。
即使您选择了一个云数据存储并决定转移到另一个,因为您希望在云中使用其他Hadoop群集,您确定可以传输数据,但请考虑可用的时间和数据传输支持。
例如,使用HadooponAzure,您可以连接各种数据源,例如Amazon S3,Azure Blob存储,SQL Server和SQL Azure等,因此各种数据源对于任何云Hadoop集群都是最佳的。