hive的常见判断与抽样函数
1.If函数:if和case差不多,都是处理单个列的查询结果 语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull) 返回值: T 说明: 当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull 举例:if(条件表达式,结果1,结果2)相当于java中的三目运算符,只是if后面的表达式类型可以不一样。 hive> select if(a=a,’bbbb’,111) from lxw_dual; bbbb hive> select if(1<2,100,200) from lxw_dual; 200
hive (bigdata)> select if(1>2,10,20)
> ;
OK
_c0
20 hive (bigdata)> select COALESCE(null,10,20);
OK
_c0
10
Time taken: 0.076 seconds, Fetched: 1 row(s) 2.非空查找函数: COALESCE 语法: COALESCE(T v1, T v2, …) 返回值: T 说明: 返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL hive> select COALESCE(null,’aaa’,50)from lxw_dual; aaa 3.条件件判断函数:这种CASE A和if差不多,条件查询(常用) 语法: CASE a WHEN b THEN c [WHENd THEN e]* [ELSE f] END 返回值: T 说明:如果a等于b,那么返回c;如果a等于d,那么返回e;否则返回f 举例: hive> Select case 100 when 50 then 'tom'when 100 then 'mary' else 'tim' end from lxw_dual; mary hive> Select case 200 when 50 then 'tom'when 100 then 'mary' else 'tim' end from lxw_dual; tim 4.条件判断函数:这种case,case后面没有表达式,用于处理单个列的查询结果 语法: CASE WHEN a THEN b [WHEN cTHEN d]* [ELSE e] END 返回值: T 说明:如果a为TRUE,则返回b;如果c为TRUE,则返回d;否则返回e 举例: hive> select case when 1=2 then 'tom'when 2=2 then 'mary' else 'tim' end from lxw_dual; mary hive> select case when 1=1 then 'tom'when 2=2 then 'mary' else 'tim' end from lxw_dual; tom 实战演示:case匹配的结果属于一个新的字段 select * from ( select name ,id ,case when id <=1235 then 'low salary' when id >1235 and id <=1236 then 'middle' else 'very high' end from mytest_staff_info_demo4_cp1 where statis_date='') b 查询结果: name id _c2 'account1' 1234 low salary 'account2' 1235 low salary 'account3' 1235 low salary 'account4' 1236 middle 'account5' 1237 very high SELECT COUNT(1) FROM (SELECT * FROM udata TABLESAMPLE (200 ROWS)) x;
SELECT * FROM udata TABLESAMPLE (50 PERCENT);
select * from table_name where col=xxx order by rand() limit num;
SELECT * FROM lxw1 TABLESAMPLE (30M);
hive的常见判断与抽样函数的更多相关文章
- Reduce:规约;Collector:收集、判断性终止函数、组函数、分组、分区
Stream 的终止操作 一.规约 * reduce(T iden, BinaryOperator b) 可以将流中元素反复结合起来,得到一个值. 返回 T * reduce(BinaryOpera ...
- JavaScript中常见的数组操作函数及用法
JavaScript中常见的数组操作函数及用法 昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下 ...
- JavaScript中常见的字符串操作函数及用法
JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...
- js判断函数是否存在、判断是否为函数
代码: <script type="text/javascript"> //判断是否为函数 try { if(typeof FunName === "func ...
- python补充最常见的内置函数
最常见的内置函数是: print("Hello World!") 数学运算 abs(-5) # 取绝对值,也就是5 round(2. ...
- 【代码笔记】iOS-对iphone手机进行判断的一些函数
代码: #import "RootViewController.h" //为判断手机的型号 -(NSString*)deviceString添加头文件 #import " ...
- PHP多重判断删除文件函数
<?function delete_file($file) { if (file_exists($file)) { $delete = chmod ($file, ...
- Hive学习之自己定义聚合函数
Hive支持用户自己定义聚合函数(UDAF),这样的类型的函数提供了更加强大的数据处理功能. Hive支持两种类型的UDAF:简单型和通用型.正如名称所暗示的,简单型UDAF的实现很easy,但因为使 ...
- js进阶 12-8 如何知道上一个函数的返回值是什么(如何判断上一个函数是否执行成功)
js进阶 12-8 如何知道上一个函数的返回值是什么(如何判断上一个函数是否执行成功) 一.总结 一句话总结:event的result属性即可. 1.event的result属性的实际应用场景是什么? ...
随机推荐
- 使用Java客户端操作elasticsearch(二)
承接上文,使用Java客户端操作elasticsearch,本文主要介绍 常见的配置 和Sniffer(集群探测) 的使用. 常见的配置 前面已介绍过,RestClientBuilder支持同时提供一 ...
- 虚拟机设置IP
方式NAT 版本信息VMware(14.1.1 build-7528167)和centos7 一,设置网络适配器: 二.设置虚拟网络 三.配置虚拟机(/etc/sysconfig/network-sc ...
- css学习_css3伸缩布局 flex布局
1.flex布局 案例一: 案例二: 保证不至于缩放得太小或太大 案例三:flex的值不一定要写成几份,可以写成固定值 案例四: 竖着3等分(父容器按照高度3等分) !!案例 -----用fle ...
- Oracle 基础概念
数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等) --查询当前数据库名:select name from v$database; 数据库实例是一组Oracle后台进程/线程以及 ...
- Multi-Projector Based Display Code ---- FAQ
Frequently Asked Question How do I know that my camera has a proper lens? Answer: If you can see exa ...
- [daily][emacs][go] 配置emacs go-mode的编辑环境以及环境变量问题
1. 安装go 安装go-mode 使用emacs编辑go代码的时候,你需要有正常可运行的go环境. 并且有emacs的go-mode package https://www.emacswiki.or ...
- [转]理解 Bias 与 Variance 之间的权衡----------bias variance tradeoff
有监督学习中,预测误差的来源主要有两部分,分别为 bias 与 variance,模型的性能取决于 bias 与 variance 的 tradeoff ,理解 bias 与 variance 有助于 ...
- python写算法中的栈
########### 栈的使用 ############### class StackFullError(Exception): pass class StackEmptyError(Excepti ...
- 制作自己的docker镜像
制作自己的Docker镜像主要有如下两种方式: 1.使用docker commit 命令来创建镜像 通过docker run命令启动容器 修改docker镜像内容 docker commit提交修改的 ...
- Android studio 远程服务调用
https://blog.csdn.net/bond_zhe/article/details/50971021