怎么操作以kudu为引擎的hive数据库,使用IMPALA方式操作

Posted 吃素的哈士奇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么操作以kudu为引擎的hive数据库,使用IMPALA方式操作相关的知识,希望对你有一定的参考价值。

KUDU引擎的HIVE数据库

到底什么是kudu引擎的hive数据库呢?

首先KUDU只是引擎,不是一个库,其实本质的数据还是hive数据库。
原本的HIVE引擎是mr、tez、spark,那么现在改了,改成了kudu引擎。

kudu引擎的好处

kudu适用于公司内部做分析用,涉及的数据量大但是并发量小,而且响应迅速

怎么使用IMPALA操作kudu引擎的数据库呢

首先了解原理

hive的库里面,原本就有一个表TEST,那现在想要用kudu的引擎操作这个表怎么操作呢?
首先就kudu就不是操作当前的表,而是在自己的空间里面建立了一个新的表test_1,然后映射到IMPALA的TEST表上。这一幕是不是似曾相识view(视图)!;对就像是对一个表进行了view(视图)的创建

实操

impala语句

首先是impala的shell语句进入
impala-shell

kudu中建立表TEST1

// 这个是kudu的 master ip以及端口

192.168.1.110:7051

直接贴入impala-shell语句回车后的框子

CREATE TABLE test_3
(  
id BIGINT,  
name STRING,  
age BIGINT,  
message STRING,  
PRIMARY KEY(id)  
)  
PARTITION BY HASH PARTITIONS 16 
STORED AS KUDU
TBLPROPERTIES (  
  'kudu.master_addresses' = '192.168.1.110:7051',
  'kudu.num_tablet_replicas' = '1'
);

kudu的TEST1映射到impala(hive)中

// 将kudu的表映射到impala上

CREATE external TABLE test3   
STORED AS KUDU 
TBLPROPERTIES (  
  'kudu.master_addresses' = '192.168.1.110:7051',  
  'kudu.table_name' = 'default.test_3'  
);

删除kudu表

impala的链接删除

drop table datatech.test_3;

登录KUDU的服务器,使用KUDU语句删除表

kudu table delete 192.168.1.110 default.test_3

特别注意

用户名一定要看清楚:我这里是default,你们一定要确定好自己的数据库用户

执行sql语句一定要以“;”分号结尾

以上是关于怎么操作以kudu为引擎的hive数据库,使用IMPALA方式操作的主要内容,如果未能解决你的问题,请参考以下文章

kudu从0到1

怎么把impala表导入kudu

客快物流大数据项目(四十一):Kudu入门介绍

大数据Kudu:Kudu与Impala整合

hiveimpalakudu

客快物流大数据项目(七十五):使用impala创建kudu表