1. **聚合函数**
- COUNT:用于返回指定列或行的数量。
sql
SELECT COUNT(*) FROM table_name;
- SUM:求某一字段所有值之和。
sql
SELECT SUM(column) AS total_amount FROM sales_table;
- AVG:平均数计算。
sql
SELECT AVG(salary) as average_salary FROM employee_info;
- MAX/MIN: 返回某列的最大/最小值。
sql
SELECT MIN(date), MAX(date) FROM transaction_records;
2. **条件判断及逻辑运算符**
- IF / CASE WHEN:实现分支选择功能。
sql
SELECT name,
IF(age > 30, 'Adult', 'Child') AS category
FROM user_data;
-- 或者使用CASE语句
SELECT id,
CASE
WHEN age BETWEEN 18 AND 65 THEN 'Working Age'
ELSE 'Non-Worker'
END AS status
FROM person_details;
- COALESCE:检查一系列表达式是否为NULL,第一个非空项即为其结果。
sql
SELECT COALESCE(NULLIF(address,''), default_address)
FROM customer_profile;
3. **字符串操作函数**
- CONCAT:连接两个或者更多的字符串。
sql
SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM users;
- SUBSTR/instr:分别获取子串和查找特定字符的位置。
sql
SELECT substr(email, instr(email, '@')+1) as domain
FROM email_list;
4. **日期时间相关函数**
- NOW() 和 CURRENT_TIMESTAMP:获得当前系统日期时间和timestamp类型的时间戳。
- DATE_FORMAT:按照给定模式来格式化日期。
sql
SELECT date_format(order_date, "yyyy-MM-dd") from orders;
5. **数学函数**
- ABS(): 计算数值绝对值;
- ROUND(), FLOOR(), CEIL(): 分别用来四舍五入、向下取整、向上取整数字;
以上仅是Hive内建函数库的一小部分示例。实际工作中还有许多其他类型的函数如集合函数(GROUPING SETS)、窗口函数(ROW_NUMBER/LAG)等,都能有效帮助用户从不同维度深入挖掘出隐藏于大量原始数据背后的信息价值,进一步满足企业级BI报表生成、趋势预测等多种业务需求场景下的高级数据加工要求。通过熟练掌握这些实用高效的Hive函数用法,无疑能显著提升我们在大数据环境下的工作效率与产出质量。
标签: hive常用函数