记录了日常使用时遇到的特殊的查询语句。不断更新~

1. SQL查出内容输出到文件

hive -e "...Hive SQL..." > /tmp/out
sparkhive --disableQuotingForSV=true  --slient=true --showHeader=false --outputformat=tsv -e "...SPARK SQL..." > /tmp/out

--disableQuotingForSV=true 可以去掉输出字段为string的耳朵

2. SQL内置函数实现时间转换

select id, from_unixtime(ts , 'yyyy-MM-dd HH:mm:ss') from log where (dt=20180601 or dt=20180602);

3. SQL内置函数实现字符串分隔再聚合

select split(abc,',')[0] as a , count(id) from log where dt=20180601 group by a;

4. SQL取数组末尾的值

优化前

select id from(select id, a_list, size(a_list) size from log where dt=20180601) t where t.a_list[t.size-1]=0

优化后

select distinct id from log where dt=20180601 and a_list[size(a_list)-1]=0

解释器有自动谓词下推策略进行优化。优化前后仅有不到1s差距。

5. SQL数组展开再聚合

 select id, sum(col) sum_a from (select id, posexplode(a_list) from log where dt=20180601) group by id having sum_a>1;

最新文章

  1. 使用 CSS3 实现超炫的 Loading(加载)动画效果
  2. 基于tiny6410的madplay播放器的移植
  3. C#中常见的winform控件命名规范
  4. LR中错误代号为27796的解决方法
  5. RC522天线匹配参数【worldsing笔记】
  6. phpexcel 一些基本的设置 (表格的基本属性)
  7. js打开新的链接2
  8. 【解决】hive动态添加partitions不能超过100的问题
  9. 鸟哥Linux私房菜 基础学习篇读书笔记(10):Linux磁盘和文件系统管理(3)
  10. ruby简单的基本 6
  11. NCache实现Oracle数据与分布式缓存数据同步的3个步骤
  12. Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'name': was expecting ('true', 'false' or 'null')
  13. Spring Boot入门(四):开发Web Api接口常用注解总结
  14. Linux从入门到入门
  15. 关于finally代码块是否一定被执行的问题
  16. 模糊查询出list
  17. javaScript 字符串
  18. Android数据存储五种方式
  19. css 滚动条样式
  20. c语言基本数据类型(short、int、long、char、float、double)

热门文章

  1. oralce的判断语句
  2. MySQL高可用架构之Keepalived+主从架构部署
  3. 数据分析之pandas常见的数据处理(四)
  4. cmd pyhton
  5. Queue<T>队列与Stack<T>堆栈
  6. 对一串用":"和";"拼接的汉字字符串排序
  7. 基础知识:Promise(整理)
  8. Discuz3.3注册程序修改添加记录推荐人账号
  9. LANMP常用配置.md
  10. 2、Sublime Text 3 快捷键(实用,快速换行等)