impala常用语法

因为最近工作上会常用,记录一下



1、语法:group_concat

select
city_id,
group_concat(concat(type,”,”,cast(count as string)),”#”)
from tmp_park_site_device_count_type_day where p_date=20170926 group by city_id;

实际场景:
  拼接成各种类型的字符串

2、语法:row_number() over()

select * from (
select
*,row_number() over(partition by city_id order by device_count desc) as sum
from bdp_dw.stat_site_day
where p_date=20170926
) t where t.sum <=10

实际场景:
  可以统计某一个城市下某种类别的数量,分组求topN

3、show partitions 查看一个表的分区数

4、show create table tt 查询tt表的建表语句

5、ndv()类似于 COUNT(DISTINCT col) 它比 COUNT 和 DISTINCT 组合的速度更快,并使用固定大小的内存,因此对于高基数的列更少的内存消耗,这是内部 COMPUTE STATS 语句计算列的不同值数量所采用的机制。不精确查询

6、between 1 and 10,范围区间是>=1 and <=10

7、不区分大小写的ILIKE,区分大小写LIKE ‘*%’

8、将内部表更改为外部表
ALTER TABLE test SET TBLPROPERTIES(‘EXTERNAL’=’TRUE’);

9、floor(1e6)是10的6次方意思
create table medium stored as parquet as select * from
big limit 200 * floor(1e6)

10、explain语句查看如何在不实际运行的情况下执行任何昂贵的查询,并且启用详细的解释计划,其中包含更多的面向性能的细节,最有趣的计划行用粗体突出显示,显示没有连接表的统计信息,Impala不能对每个处理阶段所涉及的行数进行很好的估计,并且很可能会继续使用广播连接机制它将一个表的一个完整副本发送到每个节点
set explain_level=verbose(显示具体的详情)






1、语法:group_concat

猜你喜欢

转载自blog.csdn.net/Ego_Bai/article/details/81540220