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);