欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Kudu使用手册

程序员文章站 2024-03-15 18:46:30
...

一、集成Impala

impala配置勾选kudu,随后重启impala。
Kudu使用手册

二、Kudu操作

官网文档
使用impala对kudu进行操作比较方便,所以以下步骤都是在impala-shell操作。

2.1 创建表

2.1.1 从Impala创建新的Kudu表

CREATE TABLE my_first_table
(
  id BIGINT,
  name STRING,
  PRIMARY KEY(id)
)
PARTITION BY HASH PARTITIONS 16
STORED AS KUDU;

2.1.2 从其他表中创建表

CREATE TABLE new_table
PRIMARY KEY (ts, name)
PARTITION BY HASH(name) PARTITIONS 8
STORED AS KUDU
AS SELECT ts,name,value FROM old_table;

2.2 插入数据

2.2.1 插入一行

INSERT INTO my_first_table VALUES (99, "sarah");

2.2.2 插入多行

INSERT INTO my_first_table VALUES (1,"john"), (2,"jane"), (3,"jim");

2.2.3 批量插入

批量插入的几种方式:

  • 多条单一的INSERT语句

这种方法的优点是易于理解和实施。这种方法可能效率不高,因为与Kudu的插入性能相比,Impala具有较高的查询启动成本。这将导致较高的延迟和较差的吞吐量。

  • 一条INSERT包含多个VALUES

如果您包含1024个以上的VALUES语句,则Impala batch_size在将请求发送到Kudu之前将它们分成1024个组。此方法可能比多个INSERT语句要好一些,但是要提前设置impala配置,set batch_size=10000;

  • 使用SELECT FROM从impala中的表导入

从Impala和Kudu的角度来看,通常表现最佳的方法通常是使用SELECT FROM 从Impala中的语句导入数据。

INSERT INTO my_kudu_table
  SELECT * FROM legacy_data_import_table;

2.3 更新数据

UPDATE kudu_big_data_test set name = 'wangyu' where id = 2;

2.4 删除数据

DELETE FROM my_first_table WHERE id < 3;

2.5 创建视图

CREATE VIEW IF NOT EXISTS kudu_view1 AS
SELECT
e.name,d.house
from kudu_table e
INNER JOIN kudu_table3 d
ON e.id= d.id;

2.6 描述表

DESCRIBE kudu_big_data_test;

2.7 查看分区情况

SHOW PARTITIONS kudu_big_data_test;

2.8 查看当前使用数据库

SELECT current_database();

2.9 查看建表语句

SHOW CREATE TABLE kudu_big_data_test;

2.10 修改impala中的映射表名

alter table kudu_big_data_test rename to kudu_big_data_test2;

2.11 修改kudu存储的表名

impala映射的表名不会随着更改

ALTER TABLE kudu_big_data_test2 SET TBLPROPERTIES('kudu.table_name' = 'kudu_big_data_test3');

2.12 添加列

alter table kudu_big_data_test2 add columns(abc string,time_stamp string);

2.13 删除列

ALTER table kudu_big_data_test2 drop column abc;
相关标签: Kudu