前言:
整理了一些常见的SQL的函数用法(HIVE中),主要包括如下:regexpextract函数
get_object_json函数
rownumber() over函数
date_sub函数、date_add、datediff函数
一、get_object_json 函数
应用场景:提取以json字符串的方式存储的数据
非结构化数据种类很多,日常的图片,视频都算是非结构化数据,而在数据库中,我们经常用到的以json字符串的方式存储的数据长这样↓:
{"sex":1,"Cartoonname":"哆啦A梦"}
刚开始看到它的时候,心想着这和python中的字典有点像呀。后来发现,逻辑是一样的。。。非结构化数据可以将我们很多的想要提取的字段都浓缩到一个单元格中,取数起来就十分方便。举个例子:我们在利用SQL取数时候,数据库里的数据是下面这样的↓(其中json这一列便是非结构化的数据)(表名为 ailisidun_class)
我想统计所有班级中有多少人喜欢看名侦探柯南漫画,于是可以写:
select class,count(distinct name) as renshu
from ailisidun_class
where get_json_object(json,'\$\.Cartoonname')="名侦探柯南"
group by class;
二、regexp_extract函数
应用场景:我想提取链接里的一些值?