Hadoop 在使用Impala访问Hbase表时,所有SQL操作都可以工作吗?

Hadoop 在使用Impala访问Hbase表时,所有SQL操作都可以工作吗?,hadoop,hive,hbase,hiveql,impala,Hadoop,Hive,Hbase,Hiveql,Impala,HBase不允许对其表执行联接操作。为了克服这个问题,我计划创建HBase表并通过Impala访问它 Impala允许所有连接以及GROUPBY和其他SQL操作。我没有什么问题- 有人测试过这种方法吗 所有可用的SQL操作是否都同样有效 黑斑羚和蜂巢一起工作 我试图在cloudera的文档中找到答案,但没有明确的答案。单词“明确答案”取决于您要寻找的参数 问题1:有人测试过这种方法吗 是的,Impala-hbase外部表的这种方法是可能的,因为我们对临时查询也这样做了。然而,我们的系统尚未被产

HBase不允许对其表执行联接操作。为了克服这个问题,我计划创建HBase表并通过Impala访问它

Impala允许所有连接以及GROUPBY和其他SQL操作。我没有什么问题-

  • 有人测试过这种方法吗

  • 所有可用的SQL操作是否都同样有效 黑斑羚和蜂巢一起工作

  • 我试图在cloudera的文档中找到答案,但没有明确的答案。

    单词“明确答案”取决于您要寻找的参数

    问题1:有人测试过这种方法吗

    • 是的,Impala-hbase外部表的这种方法是可能的,因为我们对临时查询也这样做了。然而,我们的系统尚未被产品电离。 一件事是,我们正在使用Impala(Hbase外部表)在通过spark steaming执行数据摄取步骤后查询(使用您提到的连接和分组方式)原始数据(即,在执行任何处理之前进行临时查询…)。由于我们使用的是cloudera,因此我们的选择是显而易见的,即黑斑羚可以更快地响应。 早些时候,我们对Hive(Hbase外部表)也这样做
    注(外部表格上下文中的附加信息):

    • 黑斑羚不会取代蜂巢,它适合非常不同的使用情况。与Hive相比,Impala不提供容错性,所以如果在查询过程中出现问题,那么它就消失了。用户必须重新发出查询。 对于FT极为重要的ETL工作,hive非常适合

    • Impala比ApacheHive更快,但这并不意味着它是解决所有大数据问题的一站式SQL解决方案。Impala是内存密集型的,对于连接之类的繁重数据操作,它无法有效运行,因为不可能将所有内容都推入内存。这是蜂巢来营救的时候。如果应用程序需要批量处理大数据,那么组织必须选择Hive。如果他们需要实时处理数据子集上的即席查询,那么Impala是更好的选择

    问题2:所有可用的SQL操作是否都同样有效 黑斑羚和蜂巢一起工作

    • Impala的Hbase外部表或Impala SQL内部表都不会更改

    请看下面的图表了解更多信息,因为我不应该在中使用纯链接,所以我使用了文章中的图表,以便更好地理解。

    感谢您的回复,但我的问题与带有HBase而非hive的黑斑羚有关。在第1季度的回答中,我谈到了impla与hive的HBase外部表。通过spark streaming,我们首先将数据摄取到Hbase,并在此基础上创建了外部表。除此之外,我们还进行了专门的查询。这不是你要找的吗?图中的第一点还表示:“程序员在hdfs(即内部表)和hbase(即外部表)上运行查询的Impala”感谢@RamPrasadG,感谢您的努力。