使用主键的一部分来改善KUDU中的搜索

时间:2019-02-28 18:05:15

标签: apache-kudu

我有一个主键,该键由KUDU中的三列(id_grandparent,id_parent,id_row)组成。

当我通过id_grandparent查找时,我希望我的查找要快速(类似于hbase)。我正在使用Impala和Spark进行查找,假设它们都对相等性进行谓词下推。

我有一些问题,无法通过阅读文档告诉我们100%肯定

SELECT * FROM my_table where id_grandparent = 55

即使我没有提供整个主键,该查询也能够使用索引顺序吗? (又名mega-fast)。我假设是,因为我猜主键是按第一列排序的,这是某种前缀扫描

SELECT * FROM my_table where id_parent = 55

此查询将能够使用任何类型的优化吗?否则任何非第一列(如果未提供第一列)将强制对所有平板电脑进行全面扫描。

我已经在这里https://kudu.apache.org/2018/09/26/index-skip-scan-optimization-in-kudu.html上阅读过此信息,但不确定是否已发布

预先感谢!

1 个答案:

答案 0 :(得分:1)

根据this JIRA ticket,它仍处于待处理状态。

根据this documentation(在回答此问题时为最新情况)

  

对多级分区表的扫描可以独立利用任何级别上的分区修剪功能。

但是考虑到blog post才写在几个月前,我怀疑索引跳过扫描是否已经实现。

更新根据dev@kudu.apache.org的回复

  

不幸的是,原始作者的实习期于去年夏天结束,没有人花时间完成工作。肯定会加快某些类型的查询的速度。有人担心,在当前状态下,它可能导致某些查询的性能下降。它可能会通过改进用于决定何时启用跳过扫描优化的试探法而受益。