问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

hive常用函数及优化

发布网友 发布时间:2024-10-04 06:34

我来回答

1个回答

热心网友 时间:2024-12-01 09:25

常用函数

数学函数

1. round(double a, int d): 四舍五入

2. floor(double a): 向下舍入最接近的整数

3. ceil(double a): 向上舍入最接近的整数

4. rand(): 返回大于或等于0且小于1的平均分布随机数

5. abs(double a): 取绝对值

6. positive(int a) 或 positive(double a): 返回A的值

类型转换函数

1. cast(expr as): 将字符转换为整数,如:cast(’1’ as bigint)

日期函数

1. from_unixtime(bigint unixtime[, string format]): 返回时间戳格式化为特定格式的日期

2. unix_timestamp(): 返回Unix时间戳(从’1970-01-01 00:00:00’到现在的UTC秒数)

3. to_date(string timestamp): 返回时间的年月日

4. year、month、day、hour、minute(string date)、second(string date)

5. datediff(string enddate, string startdate): 返回两个日期之差

6. date_add(string startdate, int days): 给定时间基础上加上指定的时间段

7. date_sub(string startdate, int days): 给定时间基础上减去指定的时间段

条件函数

1. if(boolean testCondition, T valueTrue, T valueFalseOrNull): 判断条件并返回相应值

2. COALESCE(T v1, T v2, ...): 返回非NULL的值

3. CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END: 条件判断并返回结果

4. CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END: 条件判断并返回结果

字符函数

1. length(string A): 返回字符串长度

2. concat(string A, string B...): 连接字符串

3. substr(string A, int start): 从指定位置获取子字符串

4. substr(string A, int start, int len): 从指定位置获取指定长度的子字符串

5. upper(string A): 转换为大写

6. lower(string A): 转换为小写

7. trim(string A): 删除字符串两端空格

8. ltrim(string A): 删除字符串左边空格

9. rtrim(string A): 删除字符串右边空格

10. regexp_replace(string A, string B, string C): 替换字符串中的匹配项

11. regexp_extract(string subject, string pattern, int index): 通过下标获取正则表达式匹配部分

12. get_json_object(string json_string, string path)

13. space(int n): 返回指定数量的空格

14. repeat(string str, int n): 重复字符串

15. ascii(string str): 返回字符串首字符的数字值

16. lpad(string str, int len, string pad): 左填充字符串

17. rpad(string str, int len, string pad): 右填充字符串

18. split(string str, string pat): 按分隔符分割字符串

19. find_in_set(string str, string strList): 查找字符串在列表中的位置

内置的聚合函数

1. count(*)、count(expr)、count(DISTINCT expr): 计数

2. sum(col)、sum(DISTINCT col): 求和

3. avg(col)、avg(DISTINCT col): 求平均值

4. min(col): 最小值

5. max(col): 最大值

6. collect_set(col): 无重复记录集合

优化

1. 使用explain命令查看执行计划,优化慢查询。

2. 减少中间数据依赖,提前过滤数据。

3. 避免使用map join,尤其对于大表和小表的连接。

4. 将union all替换为join操作,减少中间结果的膨胀。

5. 大数据量下,使用count、sum、distinct时,采用先去重再统计的方式。

6. 合并小文件,提高处理效率。

7. 使用sort by进行部分排序,提高效率。

8. 实现动态分区,根据输入key自动输出到不同目录。

9. 避免数据倾斜,监控执行时间和任务状态。

10. 调整参数设置,优化动态分区和数据倾斜问题。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...爱你你是我的罗密欧 , 我愿意变成你的朱丽叶' 谁知 有句歌词是“我爱你你是我的朱丽叶,我愿意变成你的梁山伯”是哪... 为什么打印出来的文档页码和原来的不一样 ...两台电脑用路由器上网一台是W7一台是XP如何实现两台电脑共享文件 win7怎么联另一台电脑win7怎么让网络和另一台电脑共享 w7的系统怎么共享电脑w7系统里面文件怎么共享另一台电脑 共享win7电脑w7系统里面文件怎么共享另一台电脑 翡翠有收藏价值吗,我们玩家如何去投资 价格一两万元的翡翠如何挑选 ppt怎么转换成视频?简单四步法,轻松搞定ppt微课录制 白鸽和红枣黑枣蜜枣煮有什么做用 tbc的中文意思是什么? 淄博除了烧烤还有哪些美食值得推荐? 关于淘宝的货运 在淘宝里交易发货运(货车)算平邮还是快递? 关于淘宝发货的问题。我是淘宝小卖家因为当地快递太贵了,价格方面谈不... 在淘宝上买东西可以走货运部么 在淘宝购物不用快递而用货运的利敝 东营有哪些让人念念不忘的传统美食? 淄博有哪些让人念念不忘的韩式料理店? 淄博除了烧烤还有哪些美食? 白血球和血小板下降会引起什么病 白血球高是白血病吗 白血球1.9 红细胞计数3.14血小板计数97怎么办 白血球一万五,血小板34的白血病是哪个期段? 我下载了一个木马清道夫,我现在想删掉,可是里面有个FTCCommenu.dll的... ...是3个文件说是要合成一个,我不知道怎么合,求高人指点! ...开始诵地藏经,不知道第二天早上发生这事这算不算感应?请高人指... 漫步者m18和郎琴h3500哪个音质好?200以内的便携小音响哪个最好?_百 ... 我下了一个极品飞车10,可是显示的是**.mdf的文件格式,有没有高人... Hive: 内置函数汇总 ?9月1日起深圳不再全面禁止路边摊此举是为了留住城市“烟火气”? 广州是什么样的秋天? 广州的秋天的特点,广东秋天短途旅游推荐 广州的秋天_550字 动力源公司-动力源 容声冰箱冷藏室温度调节方法是什么 容声冰箱冷藏室温度17档是多少度 解签文 天后签文 求姻缘 昂藏野鹤在鸡群、玉石相逢且未分、倘借牙齿些... ...二九 昂藏野鹤在鸡群 玉石相逢且未分 假若急流能勇退 免教满溢便... 比特110:揭秘26种数字货币骗局 购买LED液晶电视主要看哪些参数来评定好坏 在大学转专业是种怎样的体验? 有没有中南大学学医学检验的学长学姐?我想转专业转到临床,有什么... 白木耳莲子汤煮多久 煮白木耳莲子汤需要多长时间 摩羯女真正爱上你的表现,摩羯座彻底爱上一个人 摩羯男真正动心了的八大表现-尽早知晓不后悔 摩羯座是很委婉的星座吗?喜欢一个人时会有哪些表现呢? 密集型光波复用DWDM 波分复用简介