天天看点

kudu :impala 和 kuduClient 的选择1.美图2.概述

1.美图

kudu :impala 和 kuduClient 的选择1.美图2.概述

2.概述

kudu 原生对impala 做了很好的兼容,用impala可以很方便的使用sql对kudu进行操作,我们在项目中是使用了 impala 和原生 kuduClient 相结合的方式进行。

  1. 就查询来说,在我的使用过程中 impala 的查询速度要快于 kuduClient 的 scan。建议使用impala
  2. insert 的速度都很快

    upsert/update/delete

    如果用主键的话也都很快,但

    impala

    的并发性能比较差,所以这种操作尽量用

    kuduClient

    的原生 api 进行操作
  3. 原生

    api update、delete、upsert

    只能根据主键操作,如果需要其他条件则需要查询一下,拿到主键再进行操作,所以不如

    impala

    sql

    方便,看具体情况吧,只要

    impala

    吼得住并发,或做好资源隔离。
  4. 原生 api 在操作上有些不方便,有人封装了一个简单的

    spring starter

    ,还在完善,当然也可以把核心代码拿出来自己封装。链接:https://gitee.com/git-of-Jason/kudu-spring-boot-starter