
Hive
文章平均质量分 51
记录自己对HIve的理解,分享数据仓库开发中Hive离线分析实战案例。
张六十zhangliushi
哪有什么天生如此,只是我们天天坚持。
展开
-
Hive中LEFT OUTER JOIN和INNER JOIN连用时数据缺失问题
JOIN连接是SQL常用的关联方式,但他们之前连用时可能会出现数据缺失的情况,本文分享生产中的bug案例,目前已有解决方案,但具体原因未知,求各位小伙伴解答。原创 2022-10-14 11:39:41 · 2815 阅读 · 0 评论 -
数仓建模中空值处理经验分享之空字符串和NULL转化
控制处理原创 2022-07-31 23:59:50 · 1000 阅读 · 0 评论 -
笔试题之SQL计算跳出率
一、题目求下表xxx的跳出率跳出率=访问一个页面后离开网站的次数/总访问次数visit_datesession_idurl2021-01-01 08:23:2412637858678https://aaaaa2021-01-01 08:23:2712637858678https://aaaaa/678998992021-01-01 08:26:0212637858678https://aaaaa/123509802021-01-01 08:33:29原创 2021-05-12 19:53:21 · 993 阅读 · 2 评论 -
HiveQL切分字段并行转列的同时带出其他字段LATERAL VIEW EXPLODE
项目场景:某个字段需要根据一定规则切分后行转列,并带出其他字段。原创 2022-04-15 20:22:03 · 650 阅读 · 0 评论 -
HiveQL标准时间转北京时间
hiveql标准时间转北京时间原创 2021-11-30 20:58:05 · 799 阅读 · 0 评论 -
Hive调优
文章目录前言一、底层调优(一)本地模式二、HQL代码调优三、参数调优前言记录Hive调优经验,持续更新中,欢迎交流讨论。一、底层调优(一)本地模式如果Hive输入的数据量非常小时,Hive使用本地模式在单台机器上处理所有任务,不触发job,对于小数据集来说执行时间可以明显缩短。<property> <name>hive.exec.mode.local.auto</name> <value>true</value>原创 2021-11-26 10:55:33 · 198 阅读 · 0 评论 -
HiveQL中CASE WHEN带SPLIT切片判断和LEFT OUTER JOIN连用报错
项目场景:项目场景:数仓维度表问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();原创 2021-11-16 15:30:40 · 510 阅读 · 0 评论 -
HiveQL获取一年后日期计算同比及2月闰月特殊情况处理
ON CONCAT(t1.sale_date, '-01') = CAST(CONCAT(t2.sale_date, '-01')AS DATE) + INTERVAL 1 YEARON CONCAT(t1.sale_date, '-01') = ADD_MONTHS(CONCAT(t2.sale_date, '-01'),12)原创 2021-08-31 18:14:30 · 2944 阅读 · 0 评论 -
HiveQL列转行案例总结分享
当主表的联结条件与右表为一对多的关系时,使用CONCAT_WS(’,’, COLLECT_SET(字段名))把右表的多个字段值合成一个字段值。原创 2021-07-03 18:03:06 · 193 阅读 · 0 评论 -
HiveQL炸裂函数案例总结分享
当某个字段含有多个元素,需要把多个元素分解开时,可以使用炸裂函数,形成一对多的形式。原创 2021-04-15 20:29:43 · 1068 阅读 · 0 评论 -
HiveQL中ROW_NUMBER(),RANK()和DENSE_RANK()的区别和适用场景
文章目录一、ROW_NUMBER()(一)代码样例(二)取值逻辑及适用场景二、RANK()(一)代码样例(二)取值逻辑及适用场景三、DENSE_RANK()(一)代码样例(二)取值逻辑及适用场景一、ROW_NUMBER()(一)代码样例SELECT uid ,uname ,update_time ,ROW_NUMBER() OVER(PARTITION BY uid ORDER BY update_time DESC) AS rnFROM xxxWHERE pt_原创 2021-04-15 01:08:58 · 415 阅读 · 0 评论 -
Hive基础知识及底层架构
文章目录前言一、基础知识(一)Hadoop生态系统中的Hive(二)Hive的特点二、Hive底层(一)Hive组成模块(二)Hive执行过程三、参考书籍前言分享Hive基础知识,记录本人对其底层的理解。一、基础知识(一)Hadoop生态系统中的HiveHive可以将大多数的查询转换为MapReduce任务(job),方便用户使用类SQL语言查询存储在Hadoop集群中的数据。(二)Hive的特点Hive不是一个完整的数据库。Hadoop以及HDFS的设计本身约束和局限性地限制了Hi原创 2021-03-28 23:52:02 · 1594 阅读 · 0 评论 -
Hive脚本数据倾斜案例总结分享
脚本中含有多个左联结操作,可以先根据过滤条件把右表做成临时表再左联结临时表获取数据,关联时利用map join,调整小表大小限制将小表加载进内存运行,不相关联的临时表也可以利用并行参数提高性能。原创 2021-03-25 13:58:49 · 233 阅读 · 0 评论 -
Hive开窗函数案例总结分享
(一)以某些字段分组进行开窗,可以配合其他函数统计各分组数据的情况。# 以同一个user_id和同一个check_flg为一组(比如“001已审核”是第一组,“001未审核”是第二组),在同一组数据中以score大小进行降序排序。ROW_NUMBER() OVER(PARTITION BY user_id , check_flg ORDER BY score DESC) AS rn # 以同一个user_id为一组(比如“001”是第一组,“002”是第二组),求user_id的数量。原创 2021-03-10 23:46:06 · 338 阅读 · 0 评论 -
HiveQL常用参数
一、并行参数XXX二、小文件参数XXX三、负载均衡XXX原创 2021-03-08 20:41:22 · 1289 阅读 · 0 评论 -
HiveQL学习&实战笔记
归纳HiveQL常用函数,分享其在数据仓库开发中的案例。函数说明SUM()求和COUNT()求数量SUBSTR()截取字符串MAX()取最大MIN()取最小ROW_NUMBER()排序取值LOWER()转小写UPPER()转大写RLIKE/NOT RLIKEB是否在A里(支持正则)LIKE/NOT LIKEB是否在A里(不支持正则)COALESCE(参数.........原创 2021-03-03 01:42:45 · 831 阅读 · 0 评论 -
hive2mysql经验分享
一、先求每个字段最长字符SELECT MAX(length_xxx)FROM( SELECT LENGTH(xxx) AS length_xxx FROM yyyy WHERE pt_d = '20210101') t1;原创 2021-03-01 13:02:01 · 468 阅读 · 0 评论