1

免责声明:我是 Hadoop 和 Hive 的新手。

我们已经建立了一个存储大量数据的 MySql Cluster(版本 7.2.5)。这些行数以百万计,并根据 Mysql 的自动分片逻辑进行分区。即使我们正在利用 Cluster 7.2 的自适应查询本地化 (AQL),我们的一些查询也有多个连接,并且会运行几分钟甚至几小时。

在这种情况下,我可以使用 Hive 和 Hadoop 来查询数据库并检索数据吗?它会使查询更快吗?它是否复制其文件系统中的数据?这种方法的优缺点是什么?

我的意图是使用 Hive 作为 MySQL Cluster 之上的一个层,并将其用于 MySQL Cluster DB 的读/写。我的申请中没有任何交易。那么这真的可能吗?

4

1 回答 1

1

我认为这是可能的。我所知道的最接近这个方向的解决方案是 Daniel Abadi 的:http://www.hadapt.com/。
它解决方案的想法是在每个节点上都有本地 RDBMS,并在这些节点上运行通常的 hadoop MR,并在其之上运行 Hive。
原则上,如果您将进行智能 Hive 集成并将谓词下推到 MySQL 实例,它可以为您带来一些性能提升。
同时,你应该做一些严肃的黑客攻击,让 hadoop 知道你的分片位置,以保持数据的局部性。
总结以上所有内容 - 这应该是可能的,但需要认真开发。
同时 - 我不知道在 Mysql 集群上运行 hive 的开箱即用解决方案。

于 2012-05-29T19:17:50.663 回答