Hive sql & Spark sql笔记
记录了日常使用时遇到的特殊的查询语句。不断更新~
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;
Hive sql & Spark sql笔记的更多相关文章
- Hive、Spark SQL、Impala比较
Hive.Spark SQL.Impala比较 Hive.Spark SQL和Impala三种分布式SQL查询引擎都是SQL-on-Hadoop解决方案,但又各有特点.前面已经讨论了Hi ...
- Spark sql -- Spark sql中的窗口函数和对应的api
一.窗口函数种类 ranking 排名类 analytic 分析类 aggregate 聚合类 Function Type SQL DataFrame API Description Ranking ...
- Spark SQL官网阅读笔记
Spark SQL是Spark中用于结构化数据处理的组件. Spark SQL可以从Hive中读取数据. 执行结果是Dataset/DataFrame. DataFrame是一个分布式数据容器.然而D ...
- Spark SQL读取hive数据时报找不到mysql驱动
Exception: Caused by: org.datanucleus.exceptions.NucleusException: Attempt to invoke the "BoneC ...
- 6. Spark SQL和Beeline
*以下内容由<Spark快速大数据分析>整理所得. 读书笔记的第六部分是讲的是Spark SQL和Beeline. Spark SQL是Spark用来操作结构化和半结构化数据的接口. 一. ...
- Spark SQL 之 Data Sources
#Spark SQL 之 Data Sources 转载请注明出处:http://www.cnblogs.com/BYRans/ 数据源(Data Source) Spark SQL的DataFram ...
- Spark 官方文档(5)——Spark SQL,DataFrames和Datasets 指南
Spark版本:1.6.2 概览 Spark SQL用于处理结构化数据,与Spark RDD API不同,它提供更多关于数据结构信息和计算任务运行信息的接口,Spark SQL内部使用这些额外的信息完 ...
- Spark SQL 之 Migration Guide
Spark SQL 之 Migration Guide 支持的Hive功能 转载请注明出处:http://www.cnblogs.com/BYRans/ Migration Guide 与Hive的兼 ...
- Spark SQL 官方文档-中文翻译
Spark SQL 官方文档-中文翻译 Spark版本:Spark 1.5.2 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 Data ...
随机推荐
- 重写UIImageView的image属性
重写UIImageView的image属性 效果: 当你重写了UIImageView的image属性后你就会对UIImageView怎么显示图片了如指掌了:) 源码: UIImageView.h + ...
- 详解COM Add In的LoadBehavior及其妙用
Office的所有COM Add In,包括用Shared Add In模板和VSTO Add In模板创建的,都会在注册表里面存储一些信息. 对于当前用户安装的Add In,以Excel为例,对应 ...
- Effective C++(6) 如何拒绝编译器的自动生成函数
问题聚焦: 如果不希望class支持某一成员函数,那么不声明和定义它就可以了,但是这一策略对与拷贝构造函数和重载赋值操作符并不起作用. 因为如果不声明它们,那么当尝试调用它们的时候,编译器会为你声明和 ...
- Linux ping命令详解
Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性 基于IMCP协议 常见命令参数 -q 不显示任何传送封包的信息,只显示最后的结果 -n 只输出数值 -R 记录路由过程 ...
- Chapter 1 Secondary Sorting:Introduction
开始学习<数据算法:Hadoop/Spark大数据处理技巧>第1-5章,假期有空就摘抄下来,毕竟不是纸质的可以写写画画,感觉这样效果好点,当然复杂的东西仍然跳过.写博客越发成了做笔记的感觉 ...
- controller中的路径明明书写正确,浏览器中访问的url也拼接正确,但报404
Bug:controller中的路径明明书写正确,浏览器中访问的url也拼接正确,但报404 原因一:由于路由地址对应的处理方法存在同名而造成的,此时应该检查controller的方法们,看看有没有同 ...
- coco定义的小物体中物体大物体的尺寸
http://cocodataset.org/#detection-leaderboard
- linux(Centos7系统)中安装JDK、Tomcat、Mysql
安装前准备两个工具:(360可以安装) 1.JDK的安装 使用yum命令安装 .查看是否已安装JDK # yum list installed |grep java .卸载CentOS系统Java环境 ...
- wordpress安装(ubuntu+nginx+php+mariadb)
一. 环境 ubuntu12.04.4 nginx 1.6.0 mariadb 10.0 更新系统补丁 sudo apt-get update sudo apt-get dist-upgrade ...
- 使用XWAF框架(4)——LunarCalendar日历组件
XWAF提供了管理日历的com.xwaf.date.LunarCalendar静态类,可以直接使用,非常方便.该类包括六个主要静态方法: 4.1 isLeapYear(int year) 判断公历年 ...