HDInsight:HBase 还是 Azure 表存储?
Posted
技术标签:
【中文标题】HDInsight:HBase 还是 Azure 表存储?【英文标题】:HDInsight: HBase or Azure Table Storage? 【发布时间】:2014-10-28 12:15:41 【问题描述】:目前,我的团队正在创建一个使用 HDInsight 的解决方案。我们每天将获得 5TB 的数据,并且需要对这些数据进行一些 map/reduce 工作。如果我们的数据将存储在 Azure 表存储而不是 Azure HBase 中,是否会有任何性能/成本差异?
【问题讨论】:
【参考方案1】:主要区别在于功能和成本。
Azure 表存储本身没有附加 map reduce 引擎,当然您可以使用 map reduce 方法编写自己的引擎。
您可以使用 Azure HDInsight 将 Map Reduce 连接到表存储。周围有几个连接器,包括我编写的一个,它专注于配置单元并且需要一些配置,可能不适合您的分区方案 (http://www.simonellistonball.com/technology/hadoop-hive-inputformat-azure-tables/) 和一个不太注重性能但更完整的版本来自 Microsoft (@ 987654322@)。
Table Storage 的主要优势在于您不会一直承担处理成本。
如果您使用 HBase,您将需要始终运行一个完整的集群,因此存在成本劣势,但是,您将获得一些功能和性能提升,而且您将获得一些更便携的东西,如果您希望使用其他hadoop平台。您还可以使用 HBase 选项访问更广泛的分析功能。
【讨论】:
【参考方案2】:HDInsight (HBase/Hadoop) 使用 Azure Blob 存储而不是 ATS。对于您的数据存储,您只需根据订阅收取适用的 Blob 存储费用。
附:不要忘记在作业完成后删除您的集群,以免产生费用。您的数据将保留在 BLOB 存储中,可供您构建的下一个集群使用。
【讨论】:
Blob Storage是主要的存储机制,当然也可以写一个StorageHandler让HDInsight集群处理Table Storage数据。以上是关于HDInsight:HBase 还是 Azure 表存储?的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft.Azure.Management.HDInsight.Job 的 .Netcore 替代品?
基于 Azure 的 Hadoop 集群 (HDInsight) 如何转换为经典的本地 Hadoop 集群
如何通过 Azure Hdinsight 在 Visual Studio 中使用 pig