impala常用操作记录

发布时间 2023-12-26 21:31:36作者: 王昱棋

1 \ impala 的 broadcast 写法(把小表广播出去)

/*+ BROADCAST(p1,p2,d3) */ 这种写法在 impala 中不生效
left join [broadcast] (select cl ...  这中写法是生效的

2 \ 新建的表在impala中找不到

-- 一般没有这个权限
invalidate metadata;
-- 这种用的比较多
invalidate metadata table_name;

3 \ 时间函数

-- 取出当前日期
select now()
 
-- 取出昨天日期
 select to_date(date_add(now(),-1));
 
 --  hive与impala通用 昨天的日期
 select date_sub(current_date(),1);
 
 -- 取出上个月1号的日期
p_date >= add_months(trunc(current_date(),'MM'), -1)

 -- 取出本月1号的日期
and p_date < trunc(current_date(),'MM')

4 \ 建表语句(分区表)

create table test.tablename (column1 STRING, column2 STRING, column3 STRING,...)
partitioned by (p_date STRING )
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','

5 \ 动态分区写入

insert overwrite test.tablename partition(p_date)
select *

6 \ 增加字段

alter table test.tablename add columns(column string);