我有一个mysql表,由于其庞大的大小,需要20-30分钟来响应简单的选择查询。我在想是否可以将它导入hadoop进行处理。这是个好主意吗?如果我将使用配置单元执行相同的查询,会有任何性能提升?如果是,那么我应该如何将我的表导入hadoop?由于表具有复合主键,因此sqoop不是一个选项。还有一件事,我应该使用HBase吗?哪种方法会更好?
由于
答案 0 :(得分:3)
Hive是面向批处理的,考虑使用Impala,它用于交互式adhoc查询,并且比Hive更快。 Hive比Impala更老,所以它有很多文档,也可以轻松找到帮助。
还有Apache Drill,但它仍处于孵化阶段。还有Amazon RedShift,但截至目前,它处于有限的预览阶段。然后是Google BigQuery。在Hadoop中获取数据并在其上处理数据有多种选择。
对于所有问题,没有固定的解决方案/选择。根据您的要求,必须选择合适的工具。
答案 1 :(得分:1)
如果导入表格,即使它有复合主键,我认为你可以使用sqoop的顺序导入。只使用一个映射器(使用-m 1),您将不再需要“拆分”列。
答案 2 :(得分:0)
@ cool.ernest.7也许天真,但为什么不能用复合索引导入表呢?顺便问一下你的数据库有多大?