大数据 Kudu(8):Kudu 与 Impala 的集成

发布于:2024-10-24 编辑:匿名 来源:网络

Kudu 与 Impala 的集成 Impala 是 Cloudera 提供的高效 SQL 查询工具。它使用内存进行计算,以提供实时 SQL 查询。

Impala 强烈依赖 Hive 的 MetaStore。直接使用Hive的元数据意味着Impala元数据存储在Hive的MetaStore中,并且Impala兼容大部分Hive的SQL语法,并且具有实时、批量处理、多并发等优点。

Kudu 不支持标准 SQL 操作。 Kudu 可以与 Apache Impala 紧密集成。

Impala 天然兼容 kudu,允许开发者使用 Impala 的 SQL 语法从 Kudu 片中插入、查询、更新和删除数据。 Kudu和Impala的集成本质上是利用Hive表来操作Kudu,主要支持SQL操作。

1. Kudu和Impala集成配置首先安装Impala,然后安装Kudu。默认情况下,Impala 不依赖于 Kudu。

这里需要先在Impala中启用Kudu依赖支持,打开Impala->“配置”->“Kudu服务”:以上配置完成后,重启Impala即可。 2.内部表使用Impala创建新的Kudu表时,可以将该表创建为内部表或外部表。

内表由Impala管理,当你从Impala删除时,数据和表确实被删除了。当您使用 Impala 创建新表时,它通常是内部表。

使用impala创建内表时,必须首先列出主键列。主键默认不能为NULL。

例如:创建一个目录如下: 代码语言:javascript copy CREATE TABLE t_impala_kudu(id int,name string,age int,primary key (id))PARTITION BY HASH PARTITIONS 5STORED AS KUDUTBLPROPERTIES('kudu.master_address'=' cm1:,cm2 :') 在impala-shell中执行上述命令,可以看到impala中对应的表创建成功:登录Kudu页面,也可以看到Kudu中的表创建成功。内部表由 impala 管理。

创建表时,'kudu.master_address'指定Kudu集群。 ClouderaManager中,impala配置为支持Kudu,或者不需要指定;无法设置属性“kudu.table_name”来指定 Kudu 中的表名称。

表默认名称为“impala::xxx.xx”。当删除表时,impala 和 kudu 中对应的表也会被删除。

注意:Kudu 不支持 Impala 表创建关键字 PARTITIONED、LOCATION 和 ROW FORMAT。 3.外部表外部表(由CREATE EXTERNAL TABLE创建)不由Impala管理,删除该表不会从其源位置(此处为Kudu)丢弃该表。

相反,它仅删除 Impala 和 Kudu 之间的映射。这是 Kudu 提供的用于将现有表映射到 Impala 的语法。

使用Java api在Kudu中创建personInfo表。创建完成后,可以通过Kudu WebUI找到在Impala中创建Kudu表的对应语句: 在Impala中执行创建Impala外部表的语句,可以在Impala中创建表 名称与表名不一致Kudu 中的表。

在 Impala-shell 中执行以下创建外观语句,将 personInfo 映射到 Impala: 代码语言:javascript 复制 CREATE EXTERNAL TABLE `t_kudu_map` STORED AS KUDUTBLPROPERTIES('kudu.table_name' = 'personInfo' ,'kudu.master_addresses' = 'cm1: ,cm2:') 执行完成后,可以查看Impala中的表,如下: 以上是Impala中创建的外部表。外部表映射Kudu中的表。

当删除Impala中的表时 t_kudu_map 该表时,Impala中该表被删除,但是Kudu中的personInfo表不会被删除。建议在生产环境中使用外部表。

4、Impala SQL操作Kudu在Impala中创建内表t_test并存储在Kudu中: 代码语言:javascript copy CREATE TABLE t_test(id int, name string,age int ,primary key (id))PARTITION BY HASH PARTITIONS 5STORED AS KUDUTBLPROPERTIES ('kudu.master_address'='cm1:,cm2:') 向表中插入数据代码语言:javascript copy #插入一条数据[cm3:0]default>insert into t_test(id,name,age)values? ?(1,"zhangsan",18)#查询数据[cm3:0] 默认> select * from t_test;+----+--------- -+-----+|编号 |名称 |年龄 |+----+----------+-----+| 1 |张三| 18 |+---- +----------+-----+#插入多条数据[cm3:0] default> insert into t_test(id,name,age)values? ?(2,"lisi",19) ,(3,"王五",20);#查询结果[cm3:0] default> select * from t_test;+----+------- ---+-----+ |编号 |名称 |年龄 |+----+----------+-----+| 2 |丽丝 | 19 || 1 |张三| 18 || 3 | 王五| 20 |+----+----------+-----+ 上表也可以使用Java api查询Kudu中的数据。DML-批量向表中插入数据代码语言:javascript copy #在Impala中创建另一个表t_test2表,与表t_test结构相同 CREATE TABLE t_test2(id int, name string,age int, Primary key(id)) PARTITION BY HASH PARTITIONS 5STORED AS KUDUTBLPROPERTIES('kudu.master_address'='cm1:,cm2:')#将以下数据插入表t_test2 [cm3:0] default> insert into t_test2 (id,name,age)values??(10 ," maliu",),(20,"tianqi",);#批量插入数据到表t_test [cm3:0] default> insert into t_test select * from t_test2;#查询表t_test中的数据: +--- - +----------+-----+|编号 |名称 |年龄 |+----+----------+-----+| 10 | 10马六| || 2 |丽丝 | 19 || 20 |天七| || 3 | 王五| 20 || 1 |张三| 18 |+----+----------+- ----+DML-更新数据代码语言: javascript copy #将表t_test中id为1的年龄更新为[cm3:0]默认>更新t_test设置年龄=其中id=1; #查询t_test中id为1的数据更新结果[cm3:0] default> select * from t_test where id = 1;+----+----------+-----+|编号 |名称 |年龄 | +----+----------+-----+| 1 |张三| |+----+----------+---- -+DML 删除数据删除代码语言:javascript copy #删除表[cm3:0]中id为20的数据default>delete from t_test where id = 20; #查询t_test表[cm3:0]中的结果 default> select * from t_test; +----+----------+-----+|编号 |名称 |年龄 |+----+----------+--- --+| 2 |丽丝 | 19 || 1 |张三| || 3 | 王五| 20 || 10 | 10马六| |+----+----------+--- --+DDL-Table rename 代码语言: javascript copy #Rename table t_test to t_test1[cm3:0] default> alter table t_test rename to t_test1;#查看impala中的表信息 [cm3:0] default> showtables;+---------------+|姓名|+--------------+| t_impala_kudu || t_test1 || t_test2 |+- --------------+DDL-修改Impala映射的底层Kudu表代码语言: javascript copy #在Impala中创建外部表t_kudu_map,并映射Kudu表 personInfoCREATE EXTERNAL TABLE `t_kudu_map` STORED AS KUDUTBLPROPERTIES(' kudu.table_name' = 'personInfo','kudu.master_addresses' = 'cm1:,cm2:')#使用Kudu中的Java api创建表personInfo2,结构与表人员信息#修改Impala的外表面t_kudu_map的底层映射的personInfo到personInfo1表[cm3:0] default> alter table t_kudu_map set TBLPROPERTIES('kudu.table_name'='personInfo1');注意:使用“show create table t_kudu_map”查看表t_kudu_map的创建语句,发现底层映射的Kudu表已经变成了personInfo1。

大数据 Kudu(8):Kudu 与 Impala 的集成

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 极氪表示“不会造无聊的汽车”,那么它会成为未来出行的标杆吗?

    极氪表示“不会造无聊的汽车”,那么它会成为未来出行的标杆吗?

    以纯电动出行为使命,极氪智能科技成立。 它有集团制造能力的背书,还有初创品牌自身天马行空的想象力,这让它有底气说“不做无聊的车”。 对严格来说,极氪是一个年轻的品牌,但其在新能源领域的思考并不肤浅,安聪慧亲自带队担任极氪智能科技CEO,意义非凡。 极氪的起点高,

    06-21

  • 【创业24小时】2022年1月5日

    【创业24小时】2022年1月5日

    2022年1月5日投融资昨天国内市场共发生18起投资披露事件,其中先进制造6起(中润化工、博瑞吉芯、芯谷微电子、东方能源、星辉新材料、昕原半导体)、医疗健康案例5个(顶级制药、耀明药业、好孕妈妈、赛岚制药、金医盛世)、企业服务3个(超参科技、SphereEx、联泰集群)、本

    06-18

  • 雷锋网2019年度“人工智能最佳掘金案例榜单”正式揭晓

    雷锋网2019年度“人工智能最佳掘金案例榜单”正式揭晓

    如果说过去的四年是人工智能商业化进程的上半场,那么即将结束的这一年已正式引领行业进入下半场。 。 四年前,当工业界和学术界怀揣着用AI打造全新互联网级To C市场的梦想时,四年后的今天,人工智能的主战场早已转移到远离现实的传统行业。 科技感。 三年前,当业界开始认识

    06-17

  • 爆买3700亿,年轻人沉迷彩票

    爆买3700亿,年轻人沉迷彩票

    你幻想过一夜暴富吗? 很多人肯定都想过,尤其是涉世不深的年轻人。 刚毕业找工作的时候,我常常躺在床上想象,如果余额宝突然多了两个零,我要怎么花? 我想买一台顶级的电脑,建一个游戏室,安装各种炫酷的设备。 然后继续幻想,如果还有多个0,怎么花呢? 不,我什么也想不

    06-18

  • 伟创微电子获1亿元A+轮融资,上海国房建设领投

    伟创微电子获1亿元A+轮融资,上海国房建设领投

    投资圈(ID:pedaily)据10月13日消息,伟创微电子(上海)有限公司(以下简称“伟创微电子”) “伟创微电子”)近日宣布完成A+轮融资,融资金额超亿元。 本轮融资由上海国方建设领投,老股东浦东科创、华登国际、湖山资本、正轩投资、林鑫投资持续增持。 伟创微电子成立于今

    06-17

  • 【创业24小时】2022年4月28日

    【创业24小时】2022年4月28日

    投融资昨天,国内市场共发生12起投资披露事件,其中先进制造3起(成岭微电子、欧冶半导体、华引芯)、智能硬件案例3起(桂花网络决明子、捷享灵月、施比特机器人)、医疗健康案例1个(爱瑞奇迹)、本地生活案例1个(DOC咖啡)、娱乐媒体案例1个(卢克星球)、企业服务案例1个

    06-18

  • 宸境科技获数千万美元融资,斯道资本、OPPO、广汽资本联合领投

    宸境科技获数千万美元融资,斯道资本、OPPO、广汽资本联合领投

    投资界(ID:pedaily)6月4日消息,航天智能公司宸境科技宣布获得数千万美元融资,由斯道资本领投,OPPO、广汽资本联合领投。 上汽加州创业投资基金、越秀产业基金、复星锐正资本、新旺达集团等也参与投资,老股东火山石资本持续支持投资。 本轮融资的完成体现了新老股东对宸

    06-17

  • 富士生物完成数千万元A轮融资,深圳尚扬投资

    富士生物完成数千万元A轮融资,深圳尚扬投资

    投资圈(ID:pedaily)2月1日报道称,成都富士生物科技有限公司(以下简称富士生物)与深圳尚扬资产管理有限公司(以下简称深圳尚扬)签署战略投资协议。 深圳尚扬对富士生物科技进行数千万元A轮投资。 该投资已于近期完成。 富士生物科技于今年4月成立。 公司专注于创新分子

    06-18

  • 耀明投资完成第二轮逾3300美元融资

    耀明投资完成第二轮逾3300美元融资

    2020年8月15日,专注于中国早期及成长期的私募股权投资基金耀明投资宣布完成首支基金——华禾创业投资基金(以下简称“基金”)第二期募资。 注册于开曼群岛的华禾创业投资基金已获得超过3300万美元的投资承诺,超过其最初3000万美元的融资目标。   在刚刚结束的第二轮融资

    06-18

  • 政府资金注入芯片行业:在很多环节消耗殆尽

    政府资金注入芯片行业:在很多环节消耗殆尽

    环球网讯 - 自由软件之父理查德斯托曼曾在网络上公开表示:他使用配备中文的电脑的原因CPU的一是国外公司的CPU有后门。 国内相关单位对部分国外CPU经过严格测试,确认存在功能不明的“冗余”模块。 他们还发现有超过20条未公开的指令,包括加密、解密和浮点运算。 其中,有3条

    06-06

  • 申通快递:1月快递服务业务收入25.65亿元,同比增长21.27%

    申通快递:1月快递服务业务收入25.65亿元,同比增长21.27%

    申通快递发布今年1月份业务简报。 报告显示,1月份快递服务业务收入25.65亿元,同比增长21.27%;完成业务额9.89亿元,同比增长17.30%。

    06-17

  • 万物新生活(爱回收)最新财报:营收29.6亿,非GAAP营业利润再创新高

    万物新生活(爱回收)最新财报:营收29.6亿,非GAAP营业利润再创新高

    投资界(ID:pedaily)8月23日消息,二手消费电子交易及服务平台万物新生(爱回收)集团发布第二季度业绩报告。 财报显示,今年第二季度,五五新生集团总营收29.6亿元,同比增长38.1%,超过业绩指引高端。 本季度实现非美国通用会计准则营业利润1万元(调整后,剔除员工股权激

    06-18