Join Hive Hbase加入性能和;库杜

Join Hive Hbase加入性能和;库杜,join,hive,hbase,apache-kudu,Join,Hive,Hbase,Apache Kudu,阅读Cloudera文档,使用Impala将配置单元表与HBase较小的表连接起来,如下所述,然后在缺少大数据设备(如OBDA)和较大的可变HBase维度表的情况下: 如果有对大型事实执行聚合操作的联接查询 表,并将结果与小维度表连接,考虑 事实表使用Impala,维度表使用HBase。 (因为在这种情况下,Impala会对HBase表进行完全扫描, 而不是基于联接列执行单行HBase查找, 仅在HBase表足够小且 执行完整表扫描不会导致性能瓶颈 查询。) 有没有办法用另一种方式查找单键 此外

阅读Cloudera文档,使用Impala将配置单元表与HBase较小的表连接起来,如下所述,然后在缺少大数据设备(如OBDA)和较大的可变HBase维度表的情况下:

如果有对大型事实执行聚合操作的联接查询 表,并将结果与小维度表连接,考虑 事实表使用Impala,维度表使用HBase。 (因为在这种情况下,Impala会对HBase表进行完全扫描, 而不是基于联接列执行单行HBase查找, 仅在HBase表足够小且 执行完整表扫描不会导致性能瓶颈 查询。)

有没有办法用另一种方式查找单键

此外,我还注意到以下关于KUDU和HDFS的内容,大概是HIVE。有人在这里有经验吗?非常想知道。我会在适当的时候亲自尝试,但是在非包裹的QuickStart上安装包裹并不是那么容易

在单个应用程序(或查询)中混合和匹配存储管理器


出于谨慎的考虑,在只需要lkp的情况下,与KUDU链接维度是避免在HBASE中扫描大维度的一种方法

我收回后一点,我确信如果连接是equijoin,那么它不会导致HBASE扫描


这就是说,IMPALA和MPP允许一种不带MR的MPP方法,并将维度与事实表连接起来。OBDA的优势现在不那么明显了。imo.

“有没有办法以另一种方式获取单个键的查找”>您的意思是,读取一次庞大的数据集以提取键列表,然后从HBase检索相关记录(循环中有多个get),然后再次读取庞大的数据集以执行查找?这将是难以置信的低效,你不认为吗?我没有对什么是最好的做任何假设,但我是一个VLDB ORACLE DBA,具有性能和调优,这当然有点不同。在大数据中,什么是小表?您的回答导致了KUDU选项。HBase基本上是一个键/值数据库,专为随机访问和无事务而设计。Hive是一个批处理查询引擎,构建在HDFS(用于不可变大文件的分布式文件系统)和Thread(用于分布式批处理作业的资源管理器)之上。Hive还有一个“连接器”,可以在HBase上运行完全扫描,但这里存在严重的阻抗不匹配……另一方面,Phoenix试图在HBase之上引入一些RDBMS功能——基本数据类型、表模式、索引、事务。Kudu试图引入一些RDBMS功能——原子插入更新删除——作为HDFS+纱线的替代品,但这是Cloudera的一项计划,面向Impala和Spark(不是Hive…!)注意,Kudu还不成熟,还没有正式的身份验证/授权/审计功能,也没有正式的文档(即使您是Cloudera付费客户)。
• SELECT COUNT(*) FROM my_fact_table_on_hdfs JOIN
my_dim_table_in_kudu ON ...