[Hive]-函数篇

1.函数分类

2.操作符

  A = B(等价A == B)  值相等

  A <==> B  Equals(两个同时为Null为真,只有一个Null为假,否则Equals)

  A <>B(等价A!=B) 不等于(同Null为假,只有一个NUll为真,否则Equals取反)

  A [NOT] BETWEEN B AND C   [B,C]A是否在B,C之间(包含边界B,C)

  A IS [NOT]  NULL  A是否为Null

  A [NOT] LIKE B 同MySQL Like操作符

  A RLIKE B (等价A REGEXP B)   模糊匹配(正则)

  A DIV B A除以B的整数部分(小数直接摄取)

3.复杂对象

  map(key1, value1, key2, value2, ...)  用指定的键值创建一个Map对象

  struct(val1, val2, val3, ...) 用指定的值创建一个struct对象,字段名依次为col1.col2.....

  named_struct(name1, val1, name2, val2, ...) 用指定的字段名,字段值创建一个struct对象

  array(val1, val2, ...)  用指定的值创建一个array对象

  create_union(tag, val1, val2, ...)  使用标记参数指向的值创建一个联合类型

  

  A[n] 获取数组对象A下标为n的值

  M[key] 获取键值对对象M的键为key的值

  S.x  获取结构体S的字段x的值

  size(Map<K.V>) size(Array<T>) 返回Map或数组的元素个数

  map_keys(Map<K.V>)  返回Map的键数组对象

  map_values(Map<K.V>)  返回Map的值数组对象

  array_contains(Array<T>, value) 返回Map是否包含指定的值

  sort_array(Array<T>) 数组排序(升序)

4.UDF函数

  4.1 数学函数

    round(DOUBLE a)  返回a的四舍五入的值

    round(DOUBLE a, INT d) 返回a四舍五入保留d位小数的值

    bround(DOUBLE a [, INT d]) 返回a的高斯四舍五入的值

    floor(DOUBLE a) 返回a向上取整的值

    ceil(DOUBLE a), ceiling(DOUBLE a) 返回a向下取整的值

    rand(), rand(INT seed) 返回一个随机数

    greatest(T v1, T v2, ...) 返回指定值中最大的值

    least(T v1, T v2, ...) 返回指定值中最小的值

    更多数学函数见官网 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

  4.2 类型转换函数

    cast(expr as <type>) 将 expr转换为<type>类型

  4.3 日期函数

    from_unixtime(bigint unixtime[, string format]) 将一个时间戳转换为指定格式的字符串,默认(yyyy-MM-dd)

    unix_timestamp() 获取当前时间时间戳(秒)

    unix_timestamp(string date [, string pattern]) 将一个pattern格式(默认yyyy-MM-dd hh:mm:ss)的字符串转换为时间戳

    to_date(string timestamp) 将一个时间戳转换为yyyy-MM-dd

    quarter(date/timestamp/string)  返回日期、时间戳或范围为1到4的字符串的季度

    year(string date) 返回字符串日期的年 year("1970-01-01 00:00:00") = 1970, year("1970-01-01") = 1970

    month(string date)  返回字符串日期的月

    day(string date) dayofmonth(date) 返回字符串日期的天

    hour(string date) 返回字符串日期的小时

    minute(string date) 返回字符串日期的分钟

    second(string date) 返回字符串日期的秒

    weekofyear(string date)返回字符串日期的星期几

    extract(field FROM source) 从时间source中提取属性信息

                select extract(month from "2016-10-20") results in 10.

                select extract(hour from "2016-10-20 05:06:07") results in 5.

                select extract(dayofweek from "2016-10-20 05:06:07") results in 5.

                select extract(month from interval ‘1-3‘ year to month) results in 3.

                select extract(minute from interval ‘3 12:20:30‘ day to second) results in 20.

原文地址:https://www.cnblogs.com/NightPxy/p/9153255.html

时间: 2024-10-10 08:00:31

[Hive]-函数篇的相关文章

数据仓库----Hive进阶篇 一

数据仓库--hive进阶篇二 一.数据的导入 1.使用Load语句执行数据的导入 1.语法: 其中(中括号中表示可加指令): LOCAL:表示指定的文件路径是否是本地的,没有则说明是HDFS上的文件路径. OVERWRITE:表示覆盖表中的已有数据. PARTITION ():如果是向分区表中导入数据的话需要指定分区. 2.实例: (1).无分区情况: 其中的'/root/data'可以是路径也可以是文件: 路径表示把该路径下的所有文件都导入到表中: 文件表示只把当前文件导入到表中. (2).有

Hive函数

1.时间函数 from_unixtime函数  用法为将时间戳转换为时间格式 语法: from_unixtime(bigint unixtime[, string format])   返回值为string 例如  hive>select from_unixtime(1326988805,'yyyyMMddHH') from test; 如果为字段转换的话,则为 select from_unixtime(time,'yyyyMMddHH') from test; 字段time如果为string类

Hive(四)hive函数与hive shell

一.hive函数 1.hive内置函数 (1)内容较多,见< Hive 官方文档>            https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF        (2)详细解释:            http://blog.sina.com.cn/s/blog_83bb57b70101lhmk.html (3) 测试内置函数的快捷方式: 1.创建一个 dual 表 create table dual

函数篇之——函数也是数据

1.  对于JavaScript 来说,有一个概念十分重要——既函数是一种数据类型. 也就是说,下面两种函数定义在本质上是相同的: ① . function f () { return 1; } ② . var f = function () { return 1; } 其中,第二种定义方式通常被叫做函数标识记法(function literal notation). 如果我们对函数变量调用typeof,操作符返回的字符串将会是“function”. >>> var f = functi

函数篇之2——匿名函数

1.  匿名函数实例: >>> function ( a ){ return a; } 匿名函数也就是说没有方法名. 2.  匿名函数的主要用法: 2.1 我们可以将匿名函数作为参数传递给其它函数,这样,接收方函数就能利用我们所传递的函数来完成某些事情. 2.2 我们可以定义某个匿名函数来执行某些一次性任务. 3.  接下来,我们来看具体的应用示例,通过其中的细节来进一步了解匿名函数. 3.1 回调函数 ①.  解释: 当我们将函数A 传递给函数B ,并由B 来执行A 时,A 就成了一个

PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明

PHP函数篇详解十进制.二进制.八进制和十六进制转换函数说明 作者: 字体:[增加 减小] 类型:转载 中文字符编码研究系列第一期,PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明,主要掌握各进制转换的方法,以应用于实际开发 一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin() 函数,如下实例 echo decbin(12); //输出 1100 echo decbin(26); //输出 11010 decbin (PHP 3, PHP

ORACLE基本SQL语句-添加更新数据函数篇

一.添加数据 /*添加数据*/insert into STU values('stu0004','赵一',18,1,"kc0004");insert into STU(STU_ID,STU_NAME,STU_AGE,STU_SET ) values('stu0013','储十一',19,1); 说明:如果不指定将数据添加到那个字段,那么此时必须列出全部数据,如果列出字段,则一一对应,必须列出约束不为空的所有字段,否则报错. 二.更新数据 /*更新数据*/update STU SET S

Python函数篇(7)-正则表达式

1.正则表达式 ??正则表达式为高级的文本模式匹配,抽取,与/或文本形式的搜索和替换功能提供了基础,简单的来说,正则表达式是由一些字符和特殊符号组成的字符串.Python通过标准库中的re模块来支持正则表达式. 2.特殊符号和字符 ??首先介绍一下最常见的特殊符号和字符,即所谓的元字符. 表示法 描述 正则表达式用法示例 literal 匹配文本字符串的字面值literal re.findall("chen","sadchen21") . 匹配任意字符(除了\n之外

30s源码刨析系列之函数篇

前言 由浅入深.逐个击破 30SecondsOfCode 中函数系列所有源码片段,带你领略源码之美. 本系列是对名库 30SecondsOfCode 的深入刨析. 本篇是其中的函数篇,可以在极短的时间内培养你的函数式思维. 内容根据源码的难易等级进行排版,目录如下: 新手级 普通级 专家级 正文 新手级 checkProp const checkProp = (predicate, prop) => obj => !!predicate(obj[prop]); const lengthIs4