我的编程空间,编程开发者的网络收藏夹
学习永远不晚

云计算大数据学习路线课程大纲资料:hive内部函数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

云计算大数据学习路线课程大纲资料:hive内部函数

今天给大家分享一些云计算大数据学习路线课程大纲资料,这篇文章是关于hive内部函数的一些学习笔记资料,希望能给大家一些帮助:

云计算大数据学习路线课程大纲资料:hive内部函数

hive内部函数

取随机数函数:rand()

语法: rand(),rand(int seed) 返回值: double 说明: 返回一个0到1范围内的随机数。如果指定seed,则会得到一个稳定的随机数序列

select rand();

select rand(10);

分割字符串函数:split(str,splitor)

语法: split(string str, string pat) 返回值: array 说明: 按照pat字符串分割str,会返回分割后的字符串数组,注意特殊分割符的转义

select split(5.0,"\.")[0];

select split(rand(10)*100,"\.")[0];

字符串截取函数:substr,substring

语法: substr(string A, int start),substring(string A, int start) 返回值: string 说明:返回字符串A从start位置到结尾的字符串

语法: substr(string A, int start, int len),substring(string A, int start, int len) 返回值: string 说明:返回字符串A从start位置开始,长度为len的字符串

select substr(rand()*100,0,2);

select substring(rand()*100,0,2);

If函数:if

语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull) 返回值: T 说明: 当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull

select if(100>10,"this is true","this is false");

select if(2=1,"男","女");

select if(1=1,"男",(if(1=2,"女","不知道")));

select if(3=1,"男",(if(3=2,"女","不知道")));

条件判断函数:CASE

第一种格式:

语法: CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END 返回值: T 说明:如果a为TRUE,则返回b;如果c为TRUE,则返回d;否则返回e

第二种格式:

语法: CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END 返回值: T 说明:如果a等于b,那么返回c;如果a等于d,那么返回e;否则返回f

select

case 6

when 1 then "100"

when 2 then "200"

when 3 then "300"

when 4 then "400"

else "others"

end

;

##创建表

create table if not exists cw(

flag int

)

;

load data local inpath '/home/flag' into table cw;

##第一种格式

select

case c.flag

when 1 then "100"

when 2 then "200"

when 3 then "300"

when 4 then "400"

else "others"

end

from cw c

;

##第二种格式

select

case

when 1=c.flag then "100"

when 2=c.flag then "200"

when 3=c.flag then "300"

when 4=c.flag then "400"

else "others"

end

from cw c

;

正则表达式替换函数:regexp_replace

语法: regexpreplace(string A, string B, string C) 返回值: string 说明:将字符串A中的符合java正则表达式B的部分替换为C。注意,在有些情况下要使用转义字符,类似oracle中的regexpreplace函数

select regexp_replace("1.jsp",".jsp",".html");

类型转换函数: cast

语法: cast(expr as ) 返回值: Expected "=" to follow "type" 说明: 返回转换后的数据类型

select 1;

select cast(1 as double);

select cast("12" as int);

字符串连接函数:concat;带分隔符字符串连接函数:concat_ws

语法: concat(string A, string B…) 返回值: string 说明:返回输入字符串连接后的结果,支持任意个输入字符串

语法: concat_ws(string SEP, string A, string B…) 返回值: string 说明:返回输入字符串连接后的结果,SEP表示各个字符串间的分隔符

select "千峰" + 1603 + "班级";

select concat("千峰",1603,"班级");

select concat_ws("|","千峰","1603","班级");

排名函数:

rownumber(): 名次不并列 rank():名次并列,但空位 denserank():名次并列,但不空位

##数据

idclass score

1190

2185

3187

4160

5282

6270

7267

8288

9293

11901

31872

21853

92931

82882

52823

create table if not exists uscore(

uid int,

classid int,

score double

)

row format delimited fields terminated by '\t'

;

load data local inpath '/home/uscore' into table uscore;

select

u.uid,

u.classid,

u.score

from uscore u

group by u.classid,u.uid,u.score

limit 3

;

select

u.uid,

u.classid,

u.score,

row_number() over(distribute by u.classid sort by u.score desc) rn

from uscore u

;

取前三名

select

t.uid,

t.classid,

t.score

from

(

select

u.uid,

u.classid,

u.score,

row_number() over(distribute by u.classid sort by u.score desc) rn

from uscore u

) t

where t.rn < 4

;

查看三个排名区别

select

u.uid,

u.classid,

u.score,

row_number() over(distribute by u.classid sort by u.score desc) rn,

rank() over(distribute by u.classid sort by u.score desc) rank,

dense_rank() over(distribute by u.classid sort by u.score desc) dr

from uscore u

;

聚合函数:

min() max() count() count(distinct ) sum() avg()

count(1):不管正行有没有值,只要出现就累计1 count(*):正行值只要有一个不为空就给类计1 count(col):col列有值就累计1 count(distinct col):col列有值并且不相同才累计1

null值操作

几乎任何数和 NULL操作都返回NULL

select 1+null;

select 1/0;

select null%2;

等值操作

select null=null; #null

select null<=>null;#true

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

云计算大数据学习路线课程大纲资料:hive内部函数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

云计算大数据学习路线课程大纲资料:hive内部函数

今天给大家分享一些云计算大数据学习路线课程大纲资料,这篇文章是关于hive内部函数的一些学习笔记资料,希望能给大家一些帮助:hive内部函数1、取随机数函数:rand()语法: rand(),rand(int seed) 返回值: doub
2023-06-04

云计算大数据学习路线课程大纲资料:hive入门操作

一、hive产生背景Apache Hive数据仓库软件可以使用SQL方便地阅读、编写和管理分布在分布式存储中的大型数据集。结构可以投射到已经存储的数据上。提供了一个命令行工具和JDBC驱动程序来将用户连接到Hive。• 由Facebook开
2023-06-04

云计算学习路线课程大纲资料:参数传递 Xargs

今天给大家分享一些云计算学习路线课程大纲资料,这篇文章是关于参数传递 Xargs的一些学习笔记资料,希望能给大家一些帮助:===========================================================
2023-06-04

云计算学习路线课程大纲资料:作业控制 jobs

今天给大家分享一些云计算学习路线课程大纲资料,这篇文章是关于作业控制 jobs的一些学习笔记资料,希望能给大家一些帮助:作业控制是一个命令行功能,允许一个shell 实例来运行和管理多个命令。如果没有作业控制,父进程fork()一个子进程后
2023-06-04

云计算学习路线课程大纲资料:文件属性 chattr

给大家分享一些云计算学习路线课程大纲资料,这篇文章是关于文件属性 chattr的一些资料,希望能给大家一些帮助:文件权限管理之: 文件属性注:设置文件属性(权限),针对所有用户,包括root[root@tianyun ~]# touch f
2023-06-04

云计算学习路线课程大纲资料:使用信号控制进程

今天给大家分享一些云计算学习路线课程大纲资料,这篇文章是关于使用信号控制进程的一些学习笔记资料,希望能给大家一些帮助:=============================================================
2023-06-04

云计算学习路线教程大纲课件:EXT2/3/4文件系统

云计算学习路线教程大纲课件:EXT2/3/4文件系统:索引式文件系统====================================================================================Ex
2023-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录