Hive sql & Spark sql笔记
2024-08-28 15:13:34
记录了日常使用时遇到的特殊的查询语句。不断更新~
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;
最新文章
- 使用 CSS3 实现超炫的 Loading(加载)动画效果
- 基于tiny6410的madplay播放器的移植
- C#中常见的winform控件命名规范
- LR中错误代号为27796的解决方法
- RC522天线匹配参数【worldsing笔记】
- phpexcel 一些基本的设置 (表格的基本属性)
- js打开新的链接2
- 【解决】hive动态添加partitions不能超过100的问题
- 鸟哥Linux私房菜 基础学习篇读书笔记(10):Linux磁盘和文件系统管理(3)
- ruby简单的基本 6
- NCache实现Oracle数据与分布式缓存数据同步的3个步骤
- Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'name': was expecting ('true', 'false' or 'null')
- Spring Boot入门(四):开发Web Api接口常用注解总结
- Linux从入门到入门
- 关于finally代码块是否一定被执行的问题
- 模糊查询出list
- javaScript 字符串
- Android数据存储五种方式
- css 滚动条样式
- c语言基本数据类型(short、int、long、char、float、double)
热门文章
- oralce的判断语句
- MySQL高可用架构之Keepalived+主从架构部署
- 数据分析之pandas常见的数据处理(四)
- cmd pyhton
- Queue<;T>;队列与Stack<;T>;堆栈
- 对一串用";:";和";;";拼接的汉字字符串排序
- 基础知识:Promise(整理)
- Discuz3.3注册程序修改添加记录推荐人账号
- LANMP常用配置.md
- 2、Sublime Text 3 快捷键(实用,快速换行等)