我需要设置计划任务,目的是将大量数据从本地数据中心复制/移动到Windows Azure Blob存储。
我所研究的选项是WebHDFS和Flume(目前HDInsight似乎不支持后者)。
将非结构化文件从数据中心传输到Windows Azure Blob存储的最有效方法是什么?
答案 0 :(得分:1)
如果您使用的是HDInsight,则根本不需要涉及HDFS。实际上,您不需要运行集群来上载数据。将数据导入HDInsight的最佳方法是使用标准.NET客户端或Azure Management Studio或AzCopy等第三方将其上载到Azure Blob存储。
如果你想不断地传输数据,那么你可能更好地设置像Flume,Kafka或Storm这样的东西来对抗HDInsight集群,但这需要在集群本身进行一定量的自定义,这意味着你重启会遇到问题,需要永久集群。
答案 1 :(得分:0)
您没有提到您正在谈论的数据量(您刚才说大量)。但是......假设它是TB或PB的100,Azure有Import/Export Service提供磁盘发送。
除此之外,您需要使用自己的代码或使用第三方工具(如Microsoft的AzCopy)将内容传输到blob。请记住,您将能够执行并行上传,以压缩时间(只要数据中心的带宽足够大,您就可以看到好处)。
答案 2 :(得分:0)
您可以使用CloudBerry驱动器和Flume将数据流式传输到HDInsight群集/ Azure Blob存储
http://blogs.msdn.com/b/bigdatasupport/archive/2014/03/18/using-apache-flume-with-hdinsight.aspx
答案 3 :(得分:0)
不,您不能使用水槽直接将数据流式传输到HDInsight。来自微软博客的帖子说
绝大多数Flume消费者将他们的流媒体数据放入HDFS - 而HDFS不是HDInsight使用的默认文件系统。即使它是 - 我们不公开面向公共名称节点或HDFS端点,因此Flume代理将有一个可怕的时间到达集群!因此,出于这些原因和其他一些原因,答案通常是“不”。 ......它不会工作或不支持"
答案 4 :(得分:-2)
还值得一提的是ExpressRoute选项。 Microsoft现在有一个名为ExpressRoute的程序,您的数据中心可以与您的ISP合作,通过更快的连接直接连接到Azure。另请参阅http://azure.microsoft.com/en-us/services/expressroute/