您的位置:

Hive函数大全

Hive是一个基于Hadoop的数据仓库解决方案,具有可扩展性和高容错性,十分适合处理大数据。Hive内置了许多函数,可以帮助我们实现更加高效、方便的数据处理。本文将对Hive函数进行详细介绍,总结其主要特点和用法,帮助大家深入了解该工具。

一、字符串函数

1、substr(string A,int start, int length): 该函数用于提取字符串A从start位置开始的长度为length的子串。

    
    SELECT substr('hello hive', 7, 4);
    

2、concat(string A, string B): 该函数将两个字符串A和B连接生成新的字符串。

    
    SELECT concat('hello', ' world');
    

3、regexp_replace(string A, string pattern, string replacement): 该函数用于从字符串A中替换所有符合正则表达式pattern的子串为replacement。

    
    SELECT regexp_replace('hello hive', 'e', 'i');
    

4、lpad(string A, int length, string pad): 该函数用于将字符串A填充到指定长度length,并用字符pad填充空白部分,左对齐。

    
    SELECT lpad('hive', 7, '*');
    

5、rpad(string A, int length, string pad): 该函数用于将字符串A填充到指定长度length,并用字符pad填充空白部分,右对齐。

    
    SELECT rpad('hive', 7, '*');
    

二、数值函数

1、abs(number A): 该函数用于返回数字A的绝对值。

    
    SELECT abs(-3.14);
    

2、sqrt(number A): 该函数用于返回数字A的平方根。

    
    SELECT sqrt(9);
    

3、round(number A, int n): 该函数用于将数字A进行四舍五入,小数点后保留n位。

    
    SELECT round(3.1415, 2);
    

4、power(number A, number B): 该函数用于返回A的B次幂。

    
    SELECT power(2, 3);
    

5、sign(number A): 该函数用于返回数字A的正负性,如果A大于0返回1,A等于0返回0,A小于0返回-1。

    
    SELECT sign(-3);
    

三、日期函数

1、year(date A): 该函数用于从日期A中返回年份。

    
    SELECT year('2021-01-01');
    

2、month(date A): 该函数用于从日期A中返回月份。

    
    SELECT month('2021-01-01');
    

3、day(date A): 该函数用于从日期A中返回日。

    
    SELECT day('2021-01-01');
    

4、to_date(string A): 该函数用于将字符串A转换为日期格式。

    
    SELECT to_date('2021-01-01');
    

5、datediff(date A, date B): 该函数用于计算日期A和日期B之间相差的天数。

    
    SELECT datediff('2021-01-01', '2021-01-05');
    

四、聚合函数

1、count(column A): 该函数用于统计列A中非空值的个数。

    
    SELECT count(id) FROM table;
    

2、avg(column A): 该函数用于计算列A中所有非空值的平均值。

    
    SELECT avg(salary) FROM employee;
    

3、sum(column A): 该函数用于计算列A中所有非空值的总和。

    
    SELECT sum(sales) FROM revenue;
    

4、max(column A): 该函数用于计算列A中所有非空值的最大值。

    
    SELECT max(height) FROM students;
    

5、min(column A): 该函数用于计算列A中所有非空值的最小值。

    
    SELECT min(age) FROM staff;
    

五、其他函数

1、if(boolean A, value B, value C): 该函数表示当A为真时返回B,否则返回C。

    
    SELECT if(sales > 1000, 'good', 'bad') FROM revenue;
    

2、coalesce(value A, value B, …): 该函数用于返回第一个非空值。

    
    SELECT coalesce(name, id, phone) FROM person;
    

3、split(string A, string B): 该函数用于将A按字符串B分割成数组。

    
    SELECT split('hive,hadoop,spark', ',');
    

4、explode(array A): 该函数用于将数组A拆分成多行数据。

    
    SELECT explode(array('hive', 'hadoop', 'spark'));
    

5、map(string A1, string A2, …): 该函数用于创建一个键值对。

    
    SELECT map('name', 'jack', 'age', '30');
    

总结

本文对Hive函数进行了详细介绍,总结了常用的字符串函数、数值函数、日期函数、聚合函数和其他函数。Hive函数是Hive数据处理的核心,通过合理的使用它们可以提高数据处理的效率和精度。希望本文能对大家有所帮助。