大数据 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 的集成

站长声明

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

标签:

相关文章

  • 超目科技完成近亿元A+轮融资,专注眼科疑难疾病治疗

    超目科技完成近亿元A+轮融资,专注眼科疑难疾病治疗

    据投资界(ID:pedaily)12月7日消息,近日,超目科技(北京)有限公司眼病治疗技术研发平台超目科技(以下简称超目科技)完成近亿元A+轮融资。 本轮融资由康复资本之星未来创业投资基金领投,明恒产业投资、中植众和跟投。 此次融资获得的资金将用于全球首款眼球震颤电控产

    06-17

  • 四部门发文助企业纾困:餐饮住宿旅游娱乐等服务业增值税免征政策延长至年底

    四部门发文助企业纾困:餐饮住宿旅游娱乐等服务业增值税免征政策延长至年底

    近日,国家发改委联合发布头条新闻发展改革委、工业和信息化部、财政部、中国人民银行《关于做好年降成本重点工作的通知》(以下简称《通知》)。 《通知》指出,今年将重点组织实施7个方面23项任务,降低实体经济企业成本,帮助企业渡过难关。 《通知》具体涉及落实既定减税

    06-18

  • 西部立德新产品再次延长募资期限,拟定基金经理林静严志勇

    西部立德新产品再次延长募资期限,拟定基金经理林静严志勇

    今日,西部立德基金宣布推出新基金——西部立德聚星,一年内开业,将混合,并且募资期限再次延长。 据悉,该基金原定募资期限为3月22日至4月2日,募资期限两次延长至4月30日。

    06-17

  • 无人机行业将业务置于技术之上,这是投资者的错吗?

    无人机行业将业务置于技术之上,这是投资者的错吗?

    14年和2015年是无人机投资最火热的两年。 CB Insights数据显示,了宗投资交易近两年在中国发生,总投资金额达5.65亿美元。 2016年,投资总额放缓,但交易数量并未出现明显下降。 对于一些投资者来说,无人机已经失去了投资价值。 不过,仍有不少投资者穿梭于各种路演,寻找无

    06-18

  • 6月,中国大陆进口日本半导体设备6,235台,价值约10.8亿美元

    6月,中国大陆进口日本半导体设备6,235台,价值约10.8亿美元

    7月21日,日本海关公布6月份进出口清单。 数据显示,6月份日本向全球出口的半导体设备数量为0台。 同比增长16.3%,出口额7000万美元(约合25.2亿美元)。 )this.style.width=;" border="0" /> 集微网查询日本海关进出口贸易清单,显示中国大陆从日本进口的半导体设备数量为台

    06-08

  • 莱凯药业完成6100万美元D轮融资,国投投资

    莱凯药业完成6100万美元D轮融资,国投投资

    投资圈(ID:pedaily)领投 据5月18日消息,莱凯药业宣布近期完成6万美元(约合3.9亿元人民币)融资人民币)D轮融资。 本轮融资由国投投资领投,老股东严创资本继续增持,万汇资本、英菲尼迪资本跟投。 据悉,本次D轮融资将主要用于加速两个核心产品——AKT抑制剂afresertib(

    06-17

  • zendesk海外客服系统的其他建议

    zendesk海外客服系统的其他建议

    .wp-block-column h3{margin-left:0} 对于需要在海外市场提供客户服务的企业来说,选择合适的海外客服系统至关重要。 除了zendesk客服系统之外,还有其他值得推荐的海外客服系统,同样强大且备受认可。 我们来看看这些建议。 Salesforce Service Cloud:Salesforce是全球领先

    06-17

  • 工商银行:一季度净利润857.3亿元,同比增长1.46%

    工商银行:一季度净利润857.3亿元,同比增长1.46%

    工商银行今日公布,一季度净利润3亿元,同比增长1.46%。

    06-17

  • 普金金融完成数亿元B1轮融资,君联资本领投

    普金金融完成数亿元B1轮融资,君联资本领投

    据投资界3月28日消息,跨境金融科技公司普金金融(iPayLinks)完成B1轮融资今年年初,由君联资本牵头。 这是君联在中国互联网海外领域的又一重大投资。 iPayLinks此前的A轮和A+轮融资分别由凤凰祥瑞和Kairos基金投资。   启赟金融于今年1月成立。 是一家基于互联网金融和人

    06-18

  • 智能托盘服务商“普拉托”获超亿元B轮融资

    智能托盘服务商“普拉托”获超亿元B轮融资

    投资界(ID:pedaily)6月9日报道,智能托盘服务商“普拉托”完成超亿元B轮融资。 本轮融资由深创投集团旗下远致投资领投,瑞德信资本、大禾资本跟投。 老股东泰亚资本、联润基金、利和天使、中关村金融租赁、苏州金融租赁追加投资。 提供供应链金融支持。 本轮融资主要用于升

    06-17

  • 【24小时创业-本土生活】2024年5月22日

    【24小时创业-本土生活】2024年5月22日

    2024年5月22日重磅事件一、伊利营收增速放缓,潘刚掌舵下新挑战潘刚担任伊利集团党委书记,自董事长、总裁上台以来伊利业绩大幅增长,营收和利润分别增长10倍和34倍。 通过股权激励和员工持股计划,伊利实现了管理层与公司利益的紧密结合,创造了连续31年正增长的记录,在高股

    06-17

  • 旅游交友拼车应用粗语出行获数千万元Pre-A轮融资

    旅游交友拼车应用粗语出行获数千万元Pre-A轮融资

    投资社区(ID:pedaily)据5月24日消息,近日,旅游交友拼车应用粗语旅行宣布已获数千万元Pre-A轮融资。 获得数千万元Pre-A轮融资,由梅花创投领投,同程资本跟投。 本轮融资主要用于产品优化算法迭代、运营推广和团队人才提升。 粗鱼环球是一款社交旅游APP。 公司成立于2007

    06-17