如何有效地将大数据从数据中心移动到 Azure Blob 存储,以便以后通过 HDInsight 进行处理?

Posted

技术标签:

【中文标题】如何有效地将大数据从数据中心移动到 Azure Blob 存储,以便以后通过 HDInsight 进行处理?【英文标题】:How to efficiently move big data from a data center to Azure Blob Storage for later processing via HDInsight? 【发布时间】:2014-02-21 11:44:39 【问题描述】:

我需要设置计划任务,目的是将大量数据从本地数据中心复制/移动到 Windows Azure Blob 存储。

我探索的选项是 WebHDFS 和 Flume(HDInsight 目前似乎不支持后者)。

将非结构化文件从数据中心传输到 Windows Azure Blob 存储的最有效方法是什么?

【问题讨论】:

【参考方案1】:

如果您使用的是 HDInsight,则根本不需要涉及 HDFS。事实上,您不需要运行集群来上传数据。将数据导入 HDInsight 的最佳方式是使用标准 .NET 客户端或 Azure Management Studio 或 AzCopy 等第三方将其上传到 Azure Blob 存储。

如果您想不断地流式传输数据,那么您最好设置 Flume、Kafka 或 Storm 之类的东西来处理 HDInsight 集群,但这需要对集群本身进行一定程度的自定义,这意味着您'将遇到重启问题,并且需要一个永久集群。

【讨论】:

Storm 现在是 Azure 通用可用性的一部分,并且不需要在集群上进行自定义以实现基本实现。 azure.microsoft.com/blog/2015/02/20/…【参考方案2】:

你没有提到你在谈论多少数据(你只是说大量)。但是...假设它是 100 TB 或 PB,Azure 有一个 Import/Export Service 提供磁盘传送。

除此之外,您还需要使用自己的代码或使用第三方工具(例如 Microsoft 的 AzCopy)将您的内容传输到 blob。请记住,您将能够执行并行上传以压缩时间(只要您的数据中心的带宽足够大,让您看到好处)。

【讨论】:

【参考方案3】:

您可以使用 CloudBerry 驱动器和 Flume 将数据流式传输到 HDInsight 群集/Azure Blob 存储

http://blogs.msdn.com/b/bigdatasupport/archive/2014/03/18/using-apache-flume-with-hdinsight.aspx

【讨论】:

【参考方案4】:

不,您不能使用 Flume 将数据直接流式传输到 HDInsight。来自微软博客的帖子说

绝大多数 Flume 消费者会将他们的流数据放入 HDFS,而 HDFS 并不是 HDInsight 使用的默认文件系统。即使是这样 - 我们不会公开面向公众的名称节点或 HDFS 端点,因此 Flume 代理将很难到达集群!因此,出于这些原因和其他一些原因,答案通常是“不。……它不起作用或不受支持”

来源:http://blogs.msdn.com/b/bigdatasupport/archive/2014/03/18/using-apache-flume-with-hdinsight.aspx?CommentPosted=true#commentmessage

【讨论】:

【参考方案5】:

还值得一提的是 ExpressRoute 选项。 Microsoft 现在有一个名为 ExpressRoute 的程序,您的数据中心可以与您的 ISP 合作以更快的连接直接连接到 Azure。另见http://azure.microsoft.com/en-us/services/expres-s-route/

【讨论】:

以上是关于如何有效地将大数据从数据中心移动到 Azure Blob 存储,以便以后通过 HDInsight 进行处理?的主要内容,如果未能解决你的问题,请参考以下文章

如何有效地将大文件加载到 IndexedDB 存储中?我的应用程序在超过 100,000 行时崩溃

如何有效地将压缩的 json 数据推送到 azure 事件中心并在 azure 流分析中处理?

嗨,我们可以使用自动电源将大 XML 文件存储到 azure sql db 中吗?

如何有效地将数据从 CSV 加载到数据库中?

如何有效地将 Postgres 数据从 Query 传输到 S3

使用 PySide 时,如何有效地将数据从 NumPy 数组传输到 QPolygonF?