Impala简介
架构
Impala daemon
Impala Statestore
Impala Catalog Serveice
查询处理接口
-
Impala-shell:命令行 -
Hue:浏览器 -
ODBC/JDBC驱动程序
语句命令
数据库命令
-- 创建数据库
creat database if not exisis my_database;
?
-- 选择数据库
use my_database;
?
-- 删除数据库
drop database is exsis my_database;
?
表命令
-- 新建表
create table if not exists my_database.my_table(col1 type2, col2 type2);
create table my_table_copy as
selet * from my_table;
?
-- 插入数据(追加)
insert into my_table value (v1, v2);
?
-- 插入数据(覆盖)
insert overwrite my_table value (v1, v2);
?
-- 获取数据
select col1, col2 from my_table;
?
-- 查看描述
describe my_table;
?
-- 改名表
alter table my_table rename to table_new;
?
-- 插入列
alter table my_table add columns (col3 type3, col4 type4);
?
-- 删除列,column可加可不加
alter table my_table drop [column] col4;
?
-- 更改column的数据类型和名称
alter table my_table change col3 col4 type4;
?
-- 删除表, drop为删除整个表,truncate为删除表数据
drop table if exists table_copy;
truncate table if exists table_copy;
?
-- 显示数据库中的所有表
use my_database;
show tables;
?
-- 创建视图,视图和临时表类似,但是他不是物理表而是虚拟表,主要是方便查询,同时可以不改变原表的结构
create view if not exists table_view as select col1, col2 from my_table;
?
-- 更改视图
alter view table_view as select col1, col3 from my_table;
?
-- 删除视图
drop view table_view;
-- 排序,asc为升序,desc为降序,nulls first表示将空值放到表头,nulls last表示将空值放到表尾
select * from my_table order by col1 [asc|desc] [nulls first|nulls last]
?
-- 聚合,按照col1聚合,func()为一些逻辑函数,如count(), sum(), max()等,下句表示按照col聚合,求相同col1对应的col2的和。同时过滤group by得到的结果不能用where,此时一般会用having,作用与where类似
select col1, sum(col2) from my_table group by col1;
select col1, sum(col2) from my_table group by col2 where col2>0;
?
-- 限制取前n行,一般limit可以和offset连用,表示取偏移后的n行,第一句表示取(1-n),第二句表示取(m-m+n-1)
select * from my_table limit n;
select * from my_table limit n offset m;
?
-- 连接两个命令
select * from my_table limt 1
union
select * from table_copy limit 4 offset 4;
?
-- with as,类似将查询结果作为一个临时表
with t1 as (select * from customers where age>25),
t2 as (select * from employee where age>25)
(select * from t1 union select * from t2);
?
-- 根据某几列去重
select distinct * from my_table;
|