概述
kudu
原生对 impala
做了很好的兼容,用impala
可以很方便的使用sql对kudu
进行操作,我们在项目中是使用了 impala
和原生 kuduClient
相结合的方式进行。
就查询
来说,在我的使用过程中 impala
的查询速度要快于 kuduClient
的 scan。建议使用 impala
insert 的速度都很快 upsert/update/delete 如果用主键的话也都很快,但 impala
的并发性能比较差,所以这种操作尽量用 kuduClient 的原生 api 进行操作。
原生 api update、delete、upsert 只能根据主键操作,如果需要其他条件则需要查询一下,拿到主键再进行操作,所以不如impala写sql方便,看具体情况吧,只要 impala hold得住并发,或做好资源隔离。
原生 api 在操作上有些不方便,有人封装了一个简单的 spring starter ,还在完善,当然也可以把核心代码拿出来自己封装。
链接:https://gitee.com/git-of-Jason/kudu-spring-boot-starter