HIVE
文章平均质量分 75
吃鱼的羊
这个作者很懒,什么都没留下…
展开
-
实操 | Hive 数据倾斜问题定位排查及解决
实操 | Hive 数据倾斜问题定位排查及解决多数介绍数据倾斜的文章都是以大篇幅的理论为主,并没有给出具体的数据倾斜案例。当工作中遇到了倾斜问题,这些理论很难直接应用,导致我们面对倾斜时还是不知所措。今天我们不扯大篇理论,直接以例子来实践,排查是否出现了数据倾斜,具体是哪段代码导致的倾斜,怎么解决这段代码的倾斜。当执行过程中任务卡在 99%,大概率是出现了数据倾斜,但是通常我们的 SQL 很大,需要判断出是哪段代码导致的倾斜,才能利于我们解决倾斜。通过下面这个非常简单的例子来看下如何定位产生数据转载 2022-05-13 18:26:32 · 3076 阅读 · 1 评论 -
YARN UI界面日志详解二——某个任务详细日志
https://blog.csdn.net/NC_NE/article/details/118281875一、任务日志在哪前面我们已经了解了ResourceManager UI界面参考上一篇文章YARN UI界面日志详解一,我们也看到了下图:就在Applications下的几个状态中,只要你是提交到yarn来管理的任务那一定在这几个状态中的某一个,所以弄清楚这几个状态的日志信息那我们就能知道某个任务的运行状况了。在实际工作中NEW、NEW_SAVING、SUBMITTED这三个用到的概率还转载 2022-05-13 18:23:22 · 1426 阅读 · 0 评论 -
hive字段关联类型不一致时,两边都会转换成double类型
--hive字段关联类型不一致时,两边都会转换成double类型explainselect a.*,b.*from (select cast(186994576061124660 as bigint) col ) aleft join (select '186994576061124672' as col ) b on a.col=b.col ;186994576061124660 186994576061124672Reduce Operator Tree:Jo..原创 2021-08-13 17:40:35 · 1873 阅读 · 0 评论 -
Hive SQL grouping sets 用法
https://www.cnblogs.com/Allen-rg/p/10648231.html概述GROUPING SETS,GROUPING__ID,CUBE,ROLLUP这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。GROUPING SETS和GROUPING__ID说明在一个GROUP BY查询中,根据不同的维度组合进行聚合,等价于将不同维度的GROUP BY结果集进行UNION ALLGROU转载 2021-08-09 16:10:07 · 966 阅读 · 0 评论 -
hive中的mapjoin
在Hive中,common join是很慢的,如果我们是一张大表关联多张小表,可以使用mapjoin加快速度。mapjoin主要有以下参数:hive.auto.convert.join : 是否自动转换为mapjoinhive.mapjoin.smalltable.filesize : 小表的最大文件大小,默认为25000000,即25Mhive.auto.convert.join.noconditionaltask : 是否将多个mapjoin合并为一个hive.auto.convert.jo转载 2021-05-29 19:45:34 · 1473 阅读 · 0 评论 -
hive中join导致的数据倾斜问题排查, 分析热点值
https://blog.csdn.net/wisgood/article/details/77063606转载 2021-05-29 13:53:16 · 1482 阅读 · 0 评论 -
Hive中rlike,like,not like,regexp区别与使用详解
https://blog.csdn.net/qq_26442553/article/details/794522211.like的使用详解1.语法规则:格式是A like B,其中A是字符串,B是表达式,表示能否用B去完全匹配A的内容,换句话说能否用B这个表达式去表示A的全部内容,注意这个和rlike是有区别的。返回的结果是True/False.B只能使用简单匹配符号_和%,”_”表示任意单个字符,字符”%”表示任意数量的字符like的匹配是按字符逐一匹配的,使用B从A的第一个字符开始匹配,.转载 2021-05-27 18:30:30 · 1808 阅读 · 0 评论 -
hivesql中使用join 关联表时where 和 on、join 的执行先后顺序 explain
https://blog.csdn.net/weixin_42903419/article/details/105845410在hive sql 中,总会遇到表关联的同时还需要对左右表进行过滤数据,但是where ,on,join之间的先后顺序是怎么的呢?下面我们来一一探讨一下。环境:hive 0.13.1版本首先我们看一下t1表全表扫描的num rows 是多少:select t1.cust_pty_no,t2.amtfrom a t1left join b t2on t1.c.转载 2021-05-27 17:19:23 · 3252 阅读 · 0 评论 -
hive hsq中的group by & Distribute by & partition by & cluster by & partitioned by & clustered by
https://blog.csdn.net/qq_16320025/article/details/102976995group by & partition by & Distribute by 首先一定要记住group by分组之后是会组内聚合的而后两者仅仅是分组了,并未有聚合操作partition by是分区 Distribute by 可以理解为分簇partition by是分区 区内排序用order byDistribute by 可以理解为分簇 簇内排序用s.转载 2021-05-25 19:12:17 · 3343 阅读 · 1 评论 -
HIVE的transform函数的使用
https://blog.csdn.net/Lufei_code/article/details/89492828HIVE的transform函数的使用Hive的TRANSFORM关键字提供了在SQL中调用自写脚本的功能,适合实现Hive中没有的功能又不想写UDF的情况。例如,按日期统计每天出现的uid数,通常用如下的SQL SELECT date, count(uid) FROM xxx GROUP BY date 但是,如果我想在reduce阶段对每..转载 2021-05-25 18:58:07 · 1413 阅读 · 0 评论 -
Hive TRANSFORM示例
http://blog.cheyo.net/73.htmlHive的UDF、UDAF需要通过java语言编写。Hive提供了另一种方式,达到自定义UDF和UDAF的目的,但使用方法更简单。这就是TRANSFORM。TRANSFORM语言支持通过更种语言,实现类似于UDF的功能。Hive还提供了MAP和REDUCE这两个关键字。但MAP和REDUCE一般可理解为只是TRANSFORM的别名。并不代表一般是在map阶段或者是在reduce阶段调用。详见官网说明。数据准备创建表: .转载 2021-05-25 18:41:47 · 219 阅读 · 0 评论 -
join算法分析
https://w.cnblogs.com/---wunian/p/9227586.htmljoin算法分析对于单条语句,explain看下key,加个索引多个条件,加复合索引where a = ? order by b 加(a,b)的复合索引上面都是比较基本的,这篇我们分析一些复杂的情况——join的算法如下两张表做join10w 100wtb R tb S r1 s1 r2 ..转载 2021-02-04 22:33:13 · 418 阅读 · 0 评论 -
MapReduce多进程和spark多线程
https://blog.csdn.net/u010916338/article/details/808517721,首先要区分分布式概念,分布式指的是将一个任务切分成多块分到多台机器运行.2,进程可以理解成该服务器分到的那一块任务(MapReduce每分到一个任务会重启一个进程,而spark的所有任务都只在一个进程中,每来一个任务启动一个线程.)3,线程可以理解成在进程的基础之上又细分的更小的任务4,在任务级别(特指Spark任务和MapReduce任务)上却采用了不同的并行机制:Hado.转载 2021-02-04 22:29:49 · 553 阅读 · 0 评论 -
大数据之hadoop / hive / hbase 的区别是什么?有什么应用场景?
https://wjrsbu.smartapps.cn/zhihu/article?id=297769662&isShared=1&_swebfr=11. hadoop它是一个分布式计算+分布式文件系统,前者其实就是MapReduce,后者是HDFS。后者可以独立运行,前者可以选择性使用,也可以不使用2. hive通俗的说是一个数据仓库,仓库中的数据是被hdfs管理的数据文件,它支持类似sql语句的功能,你可以通过该语句完成分布式环境下的计算功能,hive会把语句转换成Ma...转载 2021-01-28 21:51:38 · 679 阅读 · 0 评论 -
Hive环境调优总结,hive3大执行引擎区别在哪?
https://wjrsbu.smartapps.cn/zhihu/article?id=252288440&isShared=1&hostname=baiduboxapp&_swebfr=1问题:hive 中count(*) 结果不准确?场景:hive 中建表,stored as parquet tblproperties ("parquet.compression"="lzo"); 从ods层导入数据,先进行全表检索。select * from dwd_fact.转载 2021-01-28 21:39:02 · 1668 阅读 · 0 评论 -
HiveSQL解析原理:包括SQL转化为MapReduce过程及MapReduce如何实现基本SQL操作
https://blog.csdn.net/panfelix/article/details/107245038Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为MapReduce的过程有转载 2021-01-28 21:33:24 · 1426 阅读 · 1 评论 -
Hive数仓建表该选用ORC还是Parquet,压缩选LZO还是Snappy?
https://wjrsbu.smartapps.cn/zhihu/article?id=257917645&isShared=1&hostname=baiduboxapp&_swebfr=1https://wjrsbu.smartapps.cn/zhihu/article?id=108392642&isShared=1&hostname=baiduboxapp&_swebfr=1https://blog.csdn.net/zhaolq1024/art转载 2021-01-27 22:10:02 · 387 阅读 · 0 评论 -
大数据开发实战:Hive优化实战3-大表join大表优化
https://www.cnblogs.com/shaosks/p/9491905.htmlhttps://www.cnblogs.com/bjgua/p/9624144.html5、大表join大表优化 如果Hive优化实战2中mapjoin中小表dim_seller很大呢?比如超过了1GB大小?这种就是大表join大表的问题。首先引入一个具体的问题场景,然后基于此介绍各自优化方案。 5.1、问题场景 问题场景如下: A表为一个汇总表,汇总的是卖家转载 2021-01-27 21:37:18 · 2661 阅读 · 0 评论 -
Hive Map Join 原理
https://cloud.tencent.com/developer/article/14817801. Join如何运行首先,让我们讨论一下 Join 如何在Hive中运行。Common Join 操作如图1所示被编译为 MapReduce 任务。Common Join 任务涉及 Map 阶段和 Reduce 阶段。Mapper 从连接表中读取数据并将连接的 key 和连接的 value 键值对输出到中间文件中。Hadoop 在所谓的 shuffle 阶段对这些键值对进行排序和合并。Reduce转载 2021-01-27 20:37:49 · 548 阅读 · 0 评论 -
Hive调优,数据工程师成神之路
https://mp.weixin.qq.com/s/7lz9nJhQb9Qal6hCI1EUOA1前言 毫不夸张的说,有没有掌握hive调优,是判断一个数据工程师是否合格的重要指标 hive调优涉及到压缩和存储调优,参数调优,sql的调优,数据倾斜调优,小文件问题的调优等2数据的压缩与存储格式1. map阶段输出数据压缩,在这个阶段,优先选择一个低CPU开销的算法。 set hive.exe...转载 2021-01-24 20:28:00 · 378 阅读 · 0 评论 -
sqoop 导入增量数据到hive
https://www.cnblogs.com/Alcesttt/p/11432547.html版本hive:apache-hive-2.1.0sqoop:sqoop-1.4.6hadoop:hadoop-2.7.3导入方式1.append方式2.lastmodified方式,必须要加--append(追加)或者--merge-key(合并,一般填主键)创建mysql表并添加数据-- ------------------------------ Table s转载 2021-01-24 20:26:25 · 1190 阅读 · 0 评论 -
数据仓库中的拉链表(hive实现)
https://blog.csdn.net/weixin_40444678/article/details/81083614数据仓库中的拉链表(hive实现)前言本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理、设计、以及在我们大数据场景下的实现方式。全文由下面几个部分组成:先分享一下拉链表的用途、什么是拉链表。通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别。举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何...转载 2021-01-24 20:23:12 · 456 阅读 · 0 评论 -
你真的了解全量表,增量表及拉链表吗?
https://my.oschina.net/u/4631230/blog/45627811Mysql数据准备第一天 9月10号数据1,待支付,2020-09-10 12:20:11,2020-09-10 12:20:112,待支付,2020-09-10 14:20:11,2020-09-10 14:20:113,待支付,2020-09-10 16:20:11,2020-09-10 16:20:11第二天 9月11号数据1,待支付,2020-09-10 12:2...转载 2021-01-24 20:19:21 · 1217 阅读 · 0 评论 -
详解MapReduce执行流程
https://my.oschina.net/u/4631230/blog/46824711mr原理 Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架; Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上;2为什么要用mapreduce 海量数据在单机上处理因为硬件资源限制,无法胜任 而...转载 2021-01-24 20:09:31 · 1856 阅读 · 0 评论 -
从0-1建设数仓遇到什么问题?怎么解决的?
https://my.oschina.net/u/4631230/blog/4688810这个应该算是比较高频的高级的面试题了,第一次听到这个面试题是几个月以前,朋友面试华为阿里滴滴啥的都有问到,近期老徐面微店蚂蚁美团都问到了,所以还是应该引起重视 在交流群发起这个话题的时候,有响应但是没啥答案,可能是因为大家都不是从0-1搭建数仓的,或者不是数仓方向的,所以大家都在等待有经验的人来讨论一下这个问题,等啊等,硬是没等到。 非常遗憾,我也没从0-1搭建...转载 2021-01-24 19:58:42 · 1236 阅读 · 2 评论 -
hive增量更新的新方案
https://blog.csdn.net/qq_20641565/article/details/53164155之前是采用的join的方法来增量更新。详情见:http://blog.csdn.net/qq_20641565/article/details/52763663现在有一种新方案如下:Select b.id,b.name,b.addr,b.updated_date From(select a.*,row_number() over(distribute by a.id sor转载 2021-01-23 21:51:20 · 618 阅读 · 0 评论 -
Hive学习小记-(10)hive增量下发的变化流水表如何做update操作
https://www.cnblogs.com/foolangirl/p/14222561.html场景有一张明细事务级别的流水表,主键是事件流水号srl_id, 该表每天采集当天新增及变化的事件下发,上游下发文件分区日期prt_dt.存在这样的情况,某个流水号srl_id在20210101发生,会在prt_dt=20200101的分区首次下发,若之后在20200105发生改变,在prt_dt=20200105会再次下发。每个流水号都有一个estb_dt,即首次发生日期,同一srl_id,.转载 2021-01-23 21:46:56 · 808 阅读 · 0 评论 -
如何实施ETL任务质量监控
https://zhuanlan.zhihu.com/p/136943331数据质量监控背景当我们把数据导入数据仓库时,ETL中的每个步骤中都可能会遇到数据质量错误。比如与源系统的连接错误,抽取数据可能会失败。由于记录类型冲突,数据转换可能会失败。即使的ETL任务成功,提取的记录中也会出现异常值,导致后续过程报错。那么如何主动捕获这些错误,并确保数据仓库中的数据质量?接下来,我们来总结5条规则,在做ETL的过程中,使用这些规则来确保数据仓库中的数据质量。数据质量监控方法1、校验每天的转载 2021-01-23 21:36:16 · 518 阅读 · 0 评论 -
数据分析|SQL面试题集锦
https://zhuanlan.zhihu.com/p/136619982写在前面SQL可谓是数据分析必备技能之一了,面试中也是高频出现,初学SQL可以阅读《SQL必知必会》全书通俗易懂,看完之后可以到牛客网和LeetCode刷一些SQL题巩固巩固。数据库SQL实战_牛客网www.nowcoder.com题库 - 力扣 (LeetCode)leetcode-cn.com不过面试中的SQL大多都是结合部门业务,这里将我自己经历过的和之前看到的一些面试题收集整理过来..转载 2021-01-23 15:48:04 · 2210 阅读 · 1 评论 -
超经典SQL题:做完这4道面试题你就过关了
http://www.itongji.cn/detail?type=99993193很多程序员视 SQL 为洪水猛兽。SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言)。第一题1.现有如下学生成绩表st_score:将上表转换为如下所示表,需满足以下要求:①每一个st_id仅存在一行数据;②成绩出现重复时选最高成绩;③与下表字段顺序统一,字段名...转载 2021-01-23 11:14:56 · 592 阅读 · 0 评论 -
Hive面试题:hive如何实现in和not in
https://blog.csdn.net/qq_42246689/article/details/84702253In的实现:Hive中的in的实现方式很多,简单说几种:用left semi join实现 用left outer join+is not null实现 Inner join实现Not in的实现:Left outer join+is null举例说明:有两个表如下:skim表userID itemID time 001 342.转载 2021-01-20 20:33:07 · 1984 阅读 · 0 评论 -
left semi join 与 inner join 相同点与区别
1.LEFT SEMI JOINLEFT SEMI JOIN 是 IN/EXISTS 子查询的一种更高效的实现。Hive 当前没有实现 IN/EXISTS 子查询,所以你可以用LEFT SEMI JOIN 重写你的子查询语句。LEFT SEMI JOIN 的限制是, JOIN 子句中右边的表只能在ON 子句中设置过滤条件,在 WHERE 子句、SELECT 子句或其他地方过滤都不行。SELECT a.key, a.valueFROM aWHERE a.key i...原创 2021-01-20 20:25:57 · 1917 阅读 · 0 评论 -
sparksql内部优化过程和执行计划
https://mp.weixin.qq.com/s?__biz=MzI3MjY2MTYzMA==&mid=2247484129&idx=1&sn=28c104de4f036fc327b07f3b333ebef5&chksm=eb2e6ff0dc59e6e6057fbe421b7a96ab720d875a3937b505771cf1fe4bfac24d91dcda3cb2dc&token=2032349695&lang=zh_CN&scene=21#w转载 2021-01-18 21:36:47 · 948 阅读 · 0 评论 -
Hive优化
https://zhuanlan.zhihu.com/p/165343463?utm_source=wechat_session&utm_medium=social&utm_oi=1118145344197935104目录减少处理的数据量 合理的设置map、reduce数量 小文件合并 Shuller过程优化 join优化 数据倾斜优化减少处理的数据量分区裁剪为了尽早的过滤掉数据,减少每个阶段的数据量,对于分区表要加分区查询涉及分区表时,在where子句或on转载 2021-01-17 14:24:48 · 311 阅读 · 0 评论 -
hive窗口函数必备宝典
https://blog.csdn.net/dingchangxiu11/article/details/83145151Hive中提供了越来越多的分析函数,用于完成负责的统计分析。我们先在一一列举,希望能够加深印象,希望大家积极讨论,如有不足,请大家多多指教。。。。1.Row_Number,Rank,Dense_Rank 这三个窗口函数的使用场景非常多row_number():从1开始,按照顺序,生成分组内记录的序列,row_number()的值不会存在重复,当排序的值相同时,按...转载 2021-01-16 21:17:58 · 109 阅读 · 0 评论 -
Hive -- Hive面试题及答案(2)
https://blog.csdn.net/Aeve_imp/article/details/105914006#4_Top50_49https://blog.csdn.net/Aeve_imp/article/details/105686203https://blog.csdn.net/Aeve_imp/article/details/105878068https://blog.csdn.net/Aeve_imp/article/details/106078061向导 数据结构转载 2021-01-16 20:15:22 · 355 阅读 · 0 评论 -
SparkSQL的执行计划详解
https://www.cnblogs.com/lyr999736/p/10204619.htmlhttp://www.jasongj.com/spark/rbo/https://blog.csdn.net/zyzzxycj/article/details/82704713https://blog.csdn.net/purisuit_knowledge/article/details/90703442一:首先将我们从文本中读取的数据映射到表也就是视图eg: $>cat b.转载 2021-01-15 15:21:51 · 843 阅读 · 0 评论 -
[Spark SQL] 主要执行流程
https://www.jianshu.com/p/4cc6797fb9cehttps://www.cnblogs.com/ulysses-you/p/9762133.htmlhttp://wp.wjcodes.com/archives/202预备知识先介绍在Spark SQL中两个非常重要的数据结构:Tree和Rule。SparkSql的第一件事就是把SQLText解析成语法树,这棵树包含了很多节点对象,节点可以有特定的数据类型,同时可以有0个或者多个子节点,节点在SparkSQL中.转载 2021-01-15 15:07:09 · 488 阅读 · 0 评论 -
Hive TOP N 实现方法
https://my.oschina.net/u/3204727/blog/15065991).Hive中Select Top N的实现Hive中使用Order by + Limit可以很容易地实现Select Top N。hive默认的order by实现只会用1个reduce做全局排序,这在数据量大的时候job运行效率非常低。hive在0.12版本引入了parallel order by,也就是通过sampling的方式实现并行(即基于TotalOrderPartitioner)。具体开..转载 2021-01-12 16:32:10 · 3653 阅读 · 0 评论 -
hive 分组 top10 sql简化实现方法
SELECT cityname ,cntFROM (SELECTcityname,COUNT(1) AS cnt,row_number() over(ORDER BY COUNT(1) DESC ) AS rnFROM tmp_thd_user_listGROUP BY cityname) tWHERE rn <= 10好多报表都要去top10展示,在写sql的时候发现需要一层套一层,一层套一层,至少需要套三层以上;然后就在想,这个sql能不能精简一下?看着更...原创 2021-01-12 16:24:26 · 1778 阅读 · 0 评论