hive
爱工作爱媳妇~
爱足球,爱工作,爱媳妇,爱生活
展开
-
hive函数的分类
一、内置函数(1)日期函数from_unixtime(bigint unixtime[, string format]) --将时间戳转成dateunix_timestamp() --获取当前时间的时间戳(2)条件函数if(boolean testCondition, T valueTrue, T valueFalseOrNull) --如果value非空就返回value,否则就返回default_valuenvl(T value, T default_value)--类似于Java原创 2020-09-28 21:20:29 · 285 阅读 · 0 评论 -
hive自定义UDAF函数
hive自定义UDAF函数函数类需要继承UDAF类,内部类Evaluator实UDAFEvaluator接口。Evaluator需要实现 init、iterate、terminatePartial、merge、terminate这几个函数。a)init函数实现接口UDAFEvaluator的init函数。b)iterate接收传入的参数,并进行内部的轮转。其返回类型为boolean。c)terminatePartial无参数,其为iterate函数轮转结束后,返回轮转数据,termi转载 2020-09-28 21:19:16 · 894 阅读 · 0 评论 -
hive的连接方式
(1)bin/hive 交互式查询#使用hive方式查询的时候显示字段信息<property><name>hive.cli.print.header</name><value>true</value><description>Whether to print the names of the columns in query output.</description></property>#使原创 2020-09-28 20:49:08 · 263 阅读 · 0 评论 -
hive自定义UDF函数解析JSON字符串
UDF函数作用:解析JSON字符串1、在pom.xml文件中添加依赖<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>1.2.1</version> </dependency>2、jav原创 2020-09-27 21:44:28 · 627 阅读 · 0 评论 -
如何用hive sql 实现 contain 查询?
如何用hive sql 实现 contain 查询?需求:判断某个字符串是否在另一个字符串中?方法:用正则匹配regexp那么用正则实现包含功能的代码是:select '美国加州' regexp('.*加州.*');true原创 2020-09-26 22:30:45 · 3894 阅读 · 0 评论 -
hive之grouping sets , grouping_id, cube,rollup
hive中grouping sets , grouping_id, cube,rollup的区别grouping sets–建表create table tmp.garret_test(name string,age int,score int,subject string)–插入数据insert into table tmp.garret_test values('lina',18,65,'语文')insert into table tmp.garret_test values('原创 2020-08-04 22:39:32 · 180 阅读 · 0 评论 -
加载文件到hive,跳过表头
加载文件到hive,跳过表头tblproperties("skip.header.line.count"="n", --跳过文件行首n行"skip.footer.line.count"="n" --跳过文件行尾n行 )原创 2020-07-23 22:19:26 · 758 阅读 · 0 评论 -
hive查询dense_rank(),rank(),row_number()的区别
1、row_number()不管排名是否形同,都会按照顺序1、2、3…n排序23 123 222 3 2、rank() 排名形同的名次一样,同一排名的有几个,后面就会跳过几次23 123 122 33、dense_rank()相同的排序相同,下一个小的会紧挨着排序,比如等级 排序23 123 122 2...原创 2020-07-15 23:09:38 · 134 阅读 · 0 评论 -
hive中日期函数的使用
我们常用的函数有date_add、date_sub、current_date、date_format、next_date、datediff、year、month、day、hour、minute、second、last_day,一般我们都是通过利用这些函数来获取某一天的时间、属于第几周、第几个月、第几个季度、星期几、最近七天等等。常用函数的基本用法1、current_date() 返回查询评估开始的当前日期;select current_date(); //2020-07-152、date_add原创 2020-07-14 22:51:41 · 2707 阅读 · 0 评论 -
用Sqoop导入数据到hive保持数据一致性的问题
Sqoop中导入导出Null存储一致性问题:Hive中的Null在底层是以“\N”来存储,而MySQL中的Null在底层就是Null,为了保证数据两端的一致性。在导出数据时采用–input-null-string和–input-null-non-string两个参数。导入数据时采用–null-string和–null-non-string。...原创 2020-07-13 22:59:15 · 1608 阅读 · 0 评论 -
hive中的null和‘ ‘
hive中的null和' 'string类型int类型用null还是''更好呢?string类型在对string类型的字段进行查询过滤空值(这里包括NULL和’’)的时候我们一般以:select name from student where name is not null and name != '';要特别注意的是,我们在工作的过程当中,处理的字段可能会有很多空格存在,一般都有trim函数配合length函数去除空格来判断是否为空:select length(trim(name)) fro原创 2020-07-13 22:47:55 · 525 阅读 · 0 评论