我有一个mysql表,它需要20-30分钟来响应一个简单的select查询,因为它很大。我在想是否可以将它导入hadoop进行处理。这是个好主意吗?如果我使用配置单元来执行相同的查询,会有任何性能提升??如果是,那么我应该如何将我的表导入hadoop?因为表有复合主键,所以sqoop不是一个选项。还有一件事,我应该使用hbase吗?哪种方法更好?谢谢
pcww981p1#
在导入表的情况下,即使它有一个复合主键,我认为您也可以使用sqoop的顺序导入。只有一个Map器(使用-m1),就不再需要“splitby”列了。
nxagd54h2#
@很酷,ernest.7可能很幼稚,但为什么不能导入带有复合索引的表呢?顺便问一下,你的数据库有多大?
tjrkku2a3#
hive是面向批处理的,可以考虑使用impala,它用于交互式临时查询,比hive更快。Hive比 Impala 要古老得多,所以它有很多文档,也很容易找到帮助。还有apachedrill,但仍处于孵化阶段。亚马逊也有红移,但目前还处于有限的预览阶段。还有googlebigquery。在hadoop中获取数据和在上面处理数据有多种选择。所有问题都没有固定的解决方案/选择。根据您的要求,必须选择合适的工具。
3条答案
按热度按时间pcww981p1#
在导入表的情况下,即使它有一个复合主键,我认为您也可以使用sqoop的顺序导入。只有一个Map器(使用-m1),就不再需要“splitby”列了。
nxagd54h2#
@很酷,ernest.7可能很幼稚,但为什么不能导入带有复合索引的表呢?顺便问一下,你的数据库有多大?
tjrkku2a3#
hive是面向批处理的,可以考虑使用impala,它用于交互式临时查询,比hive更快。Hive比 Impala 要古老得多,所以它有很多文档,也很容易找到帮助。
还有apachedrill,但仍处于孵化阶段。亚马逊也有红移,但目前还处于有限的预览阶段。还有googlebigquery。在hadoop中获取数据和在上面处理数据有多种选择。
所有问题都没有固定的解决方案/选择。根据您的要求,必须选择合适的工具。