为了账号安全,请及时绑定邮箱和手机立即绑定
  • HIVE之聚合函数以及表生成函数 聚合函数: 计数:count 求和:sum 最小值:min 最大值:max 平均值:avg >select count(*),sum(sal),max(sal),min(sal),avg(sal) from emp; //这里*代表所有列,count(*)表示对记录数进行计数操作 表生成函数: explode //把map集合,或者array中的元素单独生成一个行 >select explode(map(1, 'Tom', 2, 'Mary', 3, 'Mike'));
    查看全部
  • HIVE条件函数 从左到右返回第一个不为null的值:coalesce >select comm, sal,coalesce(comm, sal) from emp; 条件表达式:case...when... CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END //如果a的值等于b时返回c,如果等于d返回e,等等等等,最后如果都不是返回f 涨工资--案例 (给员工涨工资,总裁1000, 经理800, 其他400) >select ename,job,sal, case job when 'PRESIDENT' then sal+1000 when 'MANAGER' then sal+800 else sal+400 end from emp;
    查看全部
    0 采集 收起 来源:Hive条件函数

    2018-03-22

  • HIVE中的日期函数 取出一个字符串当中日期的部分:to_date >select to_date('2017-11-07 20:32:00'); 取出一个日期中年:year 取出一个日期中月:month 取出一个日期中日:day >select year('2017-11-07 20:32:00'),month('2017-11-07 20:32:00'),day('2017-11-07 20:32:00'); 返回一个日期在一年中是第几个星期:weekofyear >select weekofyear('2017-11-07 20:32:00'); 两个日期相减返回他们相差的天数:datediff >select datediff('2017-11-07 20:32:00', '2017-11-11 20:32:00'); 在一个日期值上加上多少天:date_add >select date_add('2017-11-07 20:32:00', 2); 在一个日期上减去多少天:date_sub >select date_sub('2017-11-07 20:32:00', 2);
    查看全部
    0 采集 收起 来源:Hive日期函数

    2018-03-22

  • 收集函数:size //返回Map集合中<key,value>形式的数据的数量大小个数 >select size(map(1, 'Tom', 2, 'Marry')); 转换函数:cast //把某个数据类型转换成别的数据类型 >select cast(1 as bigint); >select cast(1 as float); >select cast('2017-11-7' as date);
    查看全部
  • HIVE的数据查询之字符函数: 字符串转换成小写:lower 字符串转换成大写:upper >select lower('Hello World'), upper('Hello Hive'); 字符串长度(字符数):length >select length('Hello World'), length('你好'); //'你好'的字符数为2,字节数为4 拼接字符串:concat >select concat('Hello', ' World'); 求字符串的子串:substr //substr(a, b)从a中第b位开始取,取右边所有字符 >select substr('Hello World', 3); //substr(a, b, c) 从a中,第b位开始取,取c个字符 >select substr('Hello World', 3, 4); 去掉字符串前后的空格:trim 左填充:lpad 右填充:rpad >select lpad('abcd', 10, '*'); //表示用*左填充'abcd'到10位 >select rpad('abcd', 10, '*'); //表示用*右填充'abcd'到10位
    查看全部
    0 采集 收起 来源:Hive字符函数

    2018-03-22

  • HIVE数学函数 四舍五入: >select round(45.926, 2), round(45.926, 1), round(45.926, 0) round(45.926, -1), round(45.926, -2); //round(某数字, [..., 2, 1, 0, -1, -2, ...]) //2表示保留小数点后2位,1表示保留小数点后1位,0表示保留小数点后0位 //-1表示保留个位, -2表示保留十位,以此类推 向上取整: select ceil(45.9); 向下取整: select floor(45.9);
    查看全部
    0 采集 收起 来源:Hive数学函数

    2018-03-22

  • HIVE查询中使用排序(会被转变成mapreduce作业,执行) HIVE中的排序默认使用升序排列(从小到大),也可以使用desc进行降序排列 -查询员工信息:员工号 姓名 月薪 按照月薪降序排序 >select empno, ename, sal from emp order by sal desc; //ps: order by 后面可以跟: 列名, 列的表达式, 列的别名, 序号 设置排序编号:set hive.groupby.orderby.position.alias=true //默认为false >select empno, ename, sal, sal*12 from emp order by 4; 如果在排序的时候含有空值null: 升序排列时null在最前面 降序排列时null在最后面
    查看全部
  • 在查询中过滤 (在HIVE的HQL语句中,字符串是严格区分大小写的)
    查看全部
  • Hive简单查询和fetch task 现在我们打开了一个员工表: 查询员工所有信息: select * from emp; 查询员工信息: 员工号 姓名 月薪 select empno, ename,sal from emp; 查询员工信息:员工号 姓名 月薪 年薪(需要算术表达式) select empno,ename,sal,sal*12 from emp; 查询员工信息:员工号 姓名 月薪 年薪 奖金 年收入 (需要注意的是,若算式中有空值null则计算结果则会是空值,所以我们需要对空值进行处理) 这里我们介绍一个函数:nvl(某个可能为空的值, 转变的值) select empno,ename,sal,sal*12,comm,sal*12+nvl(comm, 0) from emp; 查询奖金为null的员工 select * from emp where comm=null; //成功执行,但没有显示查询结果 (在HQI和SQL语句中,判断一个值是否为null,不能使用 != 或者 =, 因为它永远是不等) 所以我们可以使用is来查询: select * from emp where comm is null; 使用distinct去掉重复记录 select distinct deptno from emp; select distinct deptno,job from emp; //distinct作用于后面所有的列 //如果deptno和job的组合不同,则就被distinct认为是不同的数据 Fetch Task功能:开启此功能后我们执行一条简单的查询语句(没有排序,没有函数) 就不会使用mapreduce作业,而直接使用Fetch Task从HDFS中查询输出语句,这样对于简单的查询,效率会更高。
    查看全部
  • 使用LOAD进行数据导入 load语句: LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcoll=va11,partcoll=va12)] //LOCAL表示从本地文件系统中导入数据,省略则表示从HDFS中导入数据 //OVERWRITE表示是否需要覆盖表中已存在的数据
    查看全部
  • case...when...
    查看全部
    0 采集 收起 来源:Hive条件函数

    2017-10-31

  • hive 条件语句 case...when... case 列表名 when '条件1'then... when '条件2’then... else ... end
    查看全部
    0 采集 收起 来源:Hive条件函数

    2017-10-31

  • hive 条件表达式
    查看全部
    0 采集 收起 来源:Hive条件函数

    2017-10-31

  • cast转换函数,可针对数字、字符
    查看全部
  • size 收集函数
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Hadoop体系结构的扩展内容 1、熟练掌握Hadoop的体系结构,尤其是HDFS 2、熟悉Java编程 3、了解Linux的基本操作 对Hive还不了解的童鞋,最好先去《Hive旅程之初识印象》修炼一下,再回来学习
老师告诉你能学到什么?
1、Hive数据的导入 2、Hive的数据查询 3、Hive的内置函数 4、Hive的表连接 5、Hive的子查询 6、Hive的客户端操作 7、开发Hive的自定义函数

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!