
Hive
文章平均质量分 71
高达一号
这个作者很懒,什么都没留下…
展开
-
Hive_Spark_left()函数
参数不会大于字符串的实际长度,否则结果可能会根据不同数据库系统的实现而有所不同。一些数据库系统可能返回整个字符串,而另一些则可能返回空字符串或NULL。函数是一个字符串函数,用于从一个字符串的左侧开始提取指定数量的字符。函数在不同的数据库系统中可能会有不同的实现,因此在使用特定数据库时,应当参考相应的文档。比如,在Oracle数据库中,你会使用。是一个正数,表示从字符串左侧开始要提取的字符数量。是你想要从中提取子字符串的字符串表达式。第一个参数是要从中提取字符的字符串。第二个参数指定要提取的字符数。原创 2023-11-29 14:21:39 · 1141 阅读 · 0 评论 -
Hive_last_value()
函数是一个窗口函数,用于返回窗口内的最后一个值。在同一分区内,窗口函数将独立计算每个分区。表示基于指定的列或表达式对行进行排序,这对于定义“最后”是基于什么顺序很重要。,它可能不会返回期望的结果。为了确保能够得到分区内所有行的最后一个值,可以使用。两列,以下SQL语句将返回每个分区(在本例中为每个日期)的最后一个。子句一起使用,后者定义了窗口的分区、排序和范围。默认的窗口范围是到当前行,因此如果没有特定的。是很重要的,这样才能得到你想要的结果。(可选)定义了窗口的范围,默认是。原创 2023-11-29 14:13:54 · 1535 阅读 · 0 评论 -
Hive_Hive统计指令analyze table和 describe table
analyze table和 describe table 一般是组合使用的,其中analyze table指令可以用于数据表的统计,并且是通过额外的任务对数据表的大小或者分区等进行统计。而describe table 则是将统计好的数据展示出来。官网对这块儿的介绍统计数据(如表或分区的行数和特定感兴趣的列的直方图)在许多方面都很重要。统计的一个关键用例是查询优化。统计数据作为优化器的成本函数的输入,以便它可以比较不同的计划并从中进行选择。统计数据有时可以满足用户查询的目的。原创 2023-09-05 16:28:23 · 2421 阅读 · 0 评论 -
Hive2.0_Hive 函数大全
大牛文章地址 :https://www.cnblogs.com/MOBIN/p/5618747.html#4摘要Hive内部提供了很多函数给开发者使用,包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数等等,这些函数都统称为内置函数。 目录数学函数集合函数类型转换函数日期函数条件函数字符函数聚合函数表生成函数 数学函数Return TypeName (Signature)Des...转载 2018-06-22 14:41:08 · 1810 阅读 · 0 评论 -
HIVE_HIVE中的内置UDTF_EXPLODE 和 LATERAL VIEW
参考文章:1.【学习笔记】hive 之行拆列explodehttps://yq.aliyun.com/articles/654743 HIVE 中内置了 EXPLODE 和LATERAL VIEW,这两个 Function 非常的有用。尤其是在行转列的情形下。2.hive中的lateral view 与 explode函数的使用https://blog.youkuaiyun.com/guodong2k/article/details/79459282本篇文章我们也是用了 ...原创 2020-06-09 09:11:05 · 1170 阅读 · 0 评论 -
Hive_HQL_行转列与列转行
参考文章:1.HIVE行转列和列转行https://www.cnblogs.com/blogyuhan/p/9274784.html2.HIVE行转列和列转行https://blog.youkuaiyun.com/jiantianming2/article/details/79189672列转行方式一 : 通过 GROUP BY + CASE WHEN + 聚合函数需求如下1.有用户学习情况的 uid, 科目,分数 多行数据。已知每个人所学分为英语,数学,...原创 2020-06-07 21:52:37 · 14896 阅读 · 3 评论 -
Hive_HIVE优化指南_场景七_数据倾斜问题
Hive 优化,大纲地址 :https://blog.youkuaiyun.com/u010003835/article/details/105334641场景七.数据倾斜问题1) 由于空值导致的数据倾斜问题2) 由于数据类型不一致,导致的转换问题,导致的数据倾斜3) 业务数据本身分布不均,导致的数据倾斜...原创 2020-04-13 18:47:29 · 1375 阅读 · 1 评论 -
SQL_Hive_大表JOIN大表数据倾斜优化(事实表JOIN维度表)
如果Hive优化实战2中mapjoin中小表dim_seller很大呢?比如超过了1GB大小?这种就是大表join大表的问题。首先引入一个具体的问题场景,然后基于此介绍各自优化方案。原创 2023-08-14 12:07:24 · 698 阅读 · 0 评论 -
SQL_Hive_数据倾斜优化大全
有一些算法基础的同学都知道排序操作在软件领域是开销非常大的操作,目前大规模应用的几大排序算法的时间复杂度中最好的也是O(nlogn),即随着数据量的增长而非线性的增长。通常这个条件都会满足的,因为如果不满足的话,说明key值非常多,非常稀疏,也不会产生倾斜的困境了。在优化战略生态部门的任务dwd_ocloud_dau_info_d任务的时候,我们发现任务的运行时间一直在增长,一度达到7个小时,直到8月1号便再也跑不成功,总是OOM(内存不够),即使将executor的内存调高到10G依然解决不了问题。转载 2023-07-25 12:26:24 · 261 阅读 · 0 评论 -
Hive_Hive中的Json数据解析函数 get_json_object & json_tuple
Hive 基础用法原创 2021-07-22 00:57:14 · 5945 阅读 · 0 评论 -
HIVE_HIVE函数_窗口函数_LAG()/LEAD() 详解
参考文章:1.ORALCE函数:LAG()和LEAD() 分析函数详解、https://blog.youkuaiyun.com/pelifymeng2/article/details/70313943LAG, LEAD 函数简单介绍Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列。 在实际应用当中,若要用到取今天和昨天的某字段差值时,Lag和Lead函数的应用就显得尤为重要。当然,这种操作可以用表的自连接实现,...原创 2020-06-13 23:21:58 · 11620 阅读 · 0 评论 -
Spark_Hive 累加统计函数 sum() over()
spark 累加历史主要用到了窗口函数,而进行全部统计,则需要用到rollup函数1 应用场景:1、我们需要统计用户的总使用时长(累加历史)2、前台展现页面需要对多个维度进行查询,如:产品、地区等等3、需要展现的表格头如: 产品、2015-04、2015-05、2015-062 原始数据:product_code event_date duration 14...转载 2019-04-09 12:44:59 · 16267 阅读 · 1 评论 -
Hive_Hive ROLLUP, GROUPING SETS, CUBE 聚合函数 GROUPING 函数 与 GROUPING__ID 计算方式
在 ROLLUP, GROUPING SETS , CUBE 函数中 , 我们会需要用到 GROUPING 函数 与 GROUPING__ID 。通过 GROUPING 函数,可以方便的知道所选择的列 是否进行了聚合。而通过 GROUPING_ID 可以结合 ROLLUP, GROUPING SETS , CUBE 列的顺序,知道用那些列 进行了...原创 2020-04-07 21:18:18 · 1307 阅读 · 0 评论 -
Hive_Hive ROLLUP, GROUPING SETS, CUBE 聚合函数 与 GROUPING 函数
在使用Hive 的时候,我们常常进行聚合统计运算。聚合统计的运算函数有很多,比如 我们最常用的 GROUP BY 函数。但是常常我们需要多维度统计数据,这个时候我们就会用到Hive 的上卷函数...原创 2020-04-06 22:40:09 · 1968 阅读 · 0 评论 -
Hive_UDF开发指南
最近在看 《Hive 编程指南》 其中提到了对Hive 自定义函数的几种扩展,对于我们日常开发,这个功能还是非常有用的。 打算细致的研究一下,这里我们将研究结果整理成博客,方便大家理解 :参考文章:Hive UDF教程(一)https://blog.youkuaiyun.com/u010376788/article/details/50532166...原创 2018-07-16 11:14:40 · 18559 阅读 · 1 评论 -
数据仓库_缓慢渐变维_拉链表(全揭秘)
这篇文章我们主要讲解下以下几个点什么是拉链表,用于什么样的场景 拉链表的示例 如何获取某一天的历史状态 如何在使用维度拉链表并使用代理键的前提下,构建含维度代理键的事实表1.什么是拉链表,用于什么样的场景 当维度数据发生变化时,将旧数据置为失效,将更改后的数据当作新的记录插入到维度表中,并开始生效,这样能够记录数据在某种粒度上的变化历史。2.拉链...原创 2020-02-20 23:53:14 · 2568 阅读 · 0 评论 -
Hive/数据仓库_Hive 中如何生成代理键
前提: 数仓中的维度,事实表技术提倡用代理键代替实体键,下面我们讲解下代理键的概念,以及Hive中如何生成代理键 (自增列)代理键 : 维度表中必须有一个能够唯一标识一行记录的列,通过该列维护维度表与事实表之间的关系,一般在维度表中业务主键符合条件可以当作维度主键。补充: 是由数据仓库处理过程中产生的,与业务本身无关的, 唯一标...原创 2020-02-20 23:40:11 · 3254 阅读 · 7 评论 -
Hive_Hive 优化指南详解
Hive 的SQL 运行优化 ,我们可以从以下几个方面着手原创 2020-04-05 22:01:42 · 843 阅读 · 0 评论 -
Hive_HIVE优化指南_场景一_去重场景问题
本文大纲地址 :https://blog.youkuaiyun.com/u010003835/article/details/105334641测试表以及测试数据+----------------------------------------------------+| createtab_stmt |+----...原创 2020-04-13 17:39:08 · 1460 阅读 · 0 评论 -
Hive_HIVE优化指南_场景二_减少JOB的数量
大纲地址 :https://mp.youkuaiyun.com/console/editor/html/105334641测试表以及测试数据+----------------------------------------------------+| createtab_stmt |+--------------...原创 2020-04-13 17:48:13 · 3572 阅读 · 1 评论 -
Hive_HIVE优化指南_场景三_合理进行并行控制
测试表以及测试数据+----------------------------------------------------+| createtab_stmt |+----------------------------------------------------+| CREATE TABLE `data...原创 2020-04-13 17:52:31 · 530 阅读 · 0 评论 -
Hive_HIVE优化指南_场景四_控制任务中 节点 / 文件 数量
测试表以及测试数据+----------------------------------------------------+| createtab_stmt |+----------------------------------------------------+| CREATE TABLE `data...原创 2020-04-13 18:01:31 · 1480 阅读 · 0 评论 -
Hive_HIVE优化指南_场景五_排序问题
优化大纲:https://blog.youkuaiyun.com/u010003835/article/details/105334641测试表以及测试数据+----------------------------------------------------+| createtab_stmt |+...原创 2020-04-13 18:33:35 · 477 阅读 · 0 评论 -
Hive_HIVE优化指南_场景六_通过让MAP 端, 多去承担任务, 去减少 Reducer 的计算成本 和 数据传输成本
大纲地址 :https://blog.youkuaiyun.com/u010003835/article/details/105334641测试数据场景六.通过让MAP 端, 多去承担任务, 去减少 Reducer 的计算成本 和 数据传输成本。1)MAP JOIN 的方式2) MAP AGGR , 在 Map 端进行预聚合...原创 2020-04-13 18:45:02 · 569 阅读 · 0 评论 -
Hive_HIVE优化指南_场景八_数据裁剪问题
Hive优化,大纲地址:https://blog.youkuaiyun.com/u010003835/article/details/105334641测试数据场景八_数据裁剪问题1) 记录数裁剪 i.通过分区,分桶 表的优势 去构建 ii.通过筛选条件,去除无效的记录,使得无效数据在 map 阶段 剔除2) 列裁剪i.剔除...原创 2020-04-13 18:50:15 · 841 阅读 · 0 评论 -
Hive_HIVE优化指南_场景九_减少IO次数
大纲地址 :https://blog.youkuaiyun.com/u010003835/article/details/105334641场景九.减少IO次数1) 通过多表插入 FROM A INSERT B SELECT a, ... INSERT C SELECT a, ...2) 一次输入,多次使用 WITH TABLE AS (...)...原创 2020-04-13 19:14:29 · 525 阅读 · 0 评论 -
Hive_Hive 多表数据插入
参考文章:https://blog.youkuaiyun.com/lifei128/article/details/82393539Hive支持多表插入,可以在同一个查询中使用多个insert子句,这样的好处是我们只需要扫描一遍源表就可以生成多个不相交的输出!例子 :from test1insert overwrite table test2partition (ag...原创 2020-04-08 23:19:47 · 5413 阅读 · 1 评论 -
Hive_Hive WITH table_name AS 生成临时表
参考文章 :https://blog.youkuaiyun.com/Abysscarry/article/details/81322669在我们编写SQL 时候,常常需要使用到临时表。 然后我们根据这个临时表,进行之后的操作,但是创建临时表有一定的开销。如果这个临时表并不需要保存,并且下文只需要用有限的几次,我们可以采用下面的方法。背景:当我们书写一些结构相对复杂的S...转载 2020-04-08 23:06:22 · 13272 阅读 · 0 评论 -
Hive_Hive 中 结合 with 临时表 , FROM ** INSERT 多表插入, ROLLUP/ CUBE/ GROUPING SETS 窗口函数 优化统计写入逻辑
Hive 中FROM **原创 2020-04-08 18:26:15 · 5932 阅读 · 0 评论 -
HIVE_Hive Function_STR_TO_MAP 函数详解
参考文章 :https://blog.youkuaiyun.com/yuanyangsdo/article/details/64441165本文主要讲解下 HIVE 中 str_to_map 如何使用函数介绍我们先看下函数介绍: map<string,string> str_to_map(text[, delimiter1, delimiter2]) Splits text into key-value pairs us...原创 2020-06-09 00:53:20 · 3462 阅读 · 0 评论 -
Hive_Hive 中数据类型介绍
参考的文章:Hive 数据类型https://edu.youkuaiyun.com/promotion_activity?id=3&utm_source=618qzttHive 学习之Hive 数据类型https://blog.youkuaiyun.com/skywalker_only/article/details/27547515Hive 中数据类型主要分为以下几种类型数值类型字符串类型日期/时间类型其他类型...原创 2018-06-22 23:34:14 · 11853 阅读 · 0 评论 -
Hive_数据仓库_数据类型的选择
Hive 有很多的基础数据类型,在实际构建数仓的这么多数据类型,我们该如何选择呢?如果你的公司足够大,那么建议参照以下几条建议:浮点数建议:1) Hive 中Double类型需要慎用, Hive 中Double类型存在失真。例如: 原始数据是 10000, Hive 中10000 可能为10000.00012) 为了浮点数越界,或者失真的问题,建...原创 2020-03-31 22:25:33 · 991 阅读 · 0 评论 -
Hive Hive中的数据分桶 以及 使用场景
参考文章:hive分桶管理https://blog.youkuaiyun.com/freefish_yzx/article/details/77150714hive的分区和分桶https://blog.youkuaiyun.com/wl1411956542/article/details/52931499Hive中有数据分区的方案,也有数据分桶的方案,今天我们就来探讨下数据分桶 以及数据分桶使用的场景。该篇文章主要分为一...原创 2018-07-04 14:19:41 · 59289 阅读 · 5 评论 -
HIVE_HIVE_load data_TO_HDFS,从hdfs上导入hive分区
大致语法如下:LOAD DATA [LOCAL] INPATH '/path/to/local/files'OVERWRITE INTO TABLE table_name[PARTITION ( pt = 'partion-key' [,....] )];作用: 将本地或者hdfs上的数据导入hive表LOCAL有 LOCAL 表示从本地文件系统( 文件会被拷贝到 HDFS 中 )无 LOCAL 表示从HDFS中加载数据 (注意:文件直接被移动 !!! 而不是拷...原创 2020-06-04 23:25:55 · 821 阅读 · 0 评论 -
Hive_Hive查询结果导出的几种方式
我们经常利用Hive完成一些数据报表统计的需求,此时我们在特定场景中需要对Hive查询的结果做导出,这样就延伸出了几种查询结果导出的方法,我们这里做一下总结。1.利用beeline 执行查询,将输出重定向的方式2.利用insert overwrite 的方式,将查询结果导出hdfs或者本地第一步我们看下主体的查询语句:use default;SELECT media_info.med...原创 2018-07-03 23:26:09 · 26042 阅读 · 0 评论 -
Hive_Hive内部表与外部表的选择
Hive 中有内部表 与 外部表 两种表。Hive 主要是用于数据仓库建设的。那么在数据仓库中,那我们该如何在两种表的类型中选择呢 ??下面是几条原则 : 1.在大部分场景下,两种表的应用没有太大的区别。 2.数据场景简单, 几乎都是在Hive中的流转, 可以优先选用内部表。 3.需要对数据内容和元数据进行紧凑的管理, 建...原创 2020-03-31 22:04:03 · 1893 阅读 · 0 评论 -
Hive_ Hive 建表语句详解
参考文章:https://blog.youkuaiyun.com/qq_36743482/article/details/78383964最近博主在编写一个每天定时创建Hive 分区的脚本,其中需要创建Hive表,开始的时候我以为创建Hive 表的语句顺序是比较宽松的,经过测试发现不然,Hive 创建表需要比较固定的书写顺序虽然暂时不知道这个顺序,可以查阅什么样的文档找到,如果知道的...原创 2018-06-12 22:01:09 · 161809 阅读 · 1 评论 -
Hive_Hive中修改表常用的一些指令
修改已经存在的表:alter tableAlter table 语句允许用户改变现有表的结构。用户可以增加列/分区,表本身重命名。1) 增加分区 Add Partitions:ALTER TABLE table_name ADD partition_spec [ LOCATION 'location1']partition_spec [ LOCATION 'location2' ]其中partit...转载 2018-05-15 20:17:58 · 3584 阅读 · 0 评论 -
Hive_Hive 中常见的数据格式 与性能分析
参考文章:1. hive四种存储格式介绍与分析比较https://blog.youkuaiyun.com/zyzzxycj/article/details/79267635Hive 中有如下的数据文件格式, textfile ,sequencefile,avro,rcfile , orcfile , parquet, 自定义存储格式 。本文将介绍这几种数据文件格式的区别与效率...原创 2019-03-06 17:30:46 · 3672 阅读 · 1 评论 -
Hive_ Hive DISTINCT , JOIN 运行流程
对Hive 有一定了解的同学们,一定要对 Hive 几种常用的语句的内部运行机制做一定的了解。这样我们才能更好的去优化Hive,对SQL 做一定的调整。下面我们主要通过 DISTINCT JOIN两类操作,详细的去介绍 Hive 底层 的 MapReduce 执行流程。DISTINCT 流程图:可以看到上面的第一个阶段...原创 2020-04-01 21:25:44 · 815 阅读 · 0 评论