
Hive
文章平均质量分 79
鸣宇淳
这个作者很懒,什么都没留下…
展开
-
窗口函数order by对于null的排序规则
1、发现问题今天发现一个问题,在Hive中使用窗口函数对数据进行分组排序时,使用mr引擎和使用presto引擎得到的结果不一致,在这里把发现和解决问题的过程记录一下。row_number() over(partition by room_id order by out_time)(1)制造模拟数据创建表create table demo_over_order( room_id string comment '直播间ID' ,user_id string comment '用户原创 2020-10-29 09:43:21 · 3302 阅读 · 0 评论 -
Hive MapJoin中使用UDF遇到的ClassNotFound的问题
1、发现问题今天在执行一段hive脚本时遇到报错。脚本简化后示例如下:set hive.auto.convert.join=true;add jar hdfs://nsha/user/dw/udf/dw.hive.udf.jar;create temporary function myudf as 'com.xxx.dw.hive.udf.myUDF';select a.apply_no,b.overdue_levelfrom ( select apply_no from原创 2020-10-23 09:21:47 · 2500 阅读 · 0 评论 -
分区太多引起的内存溢出
执行一个hive sql时报了一个下面的错误,从错误堆栈上来看,是在SQL编译、解析、优化过程中出的错,还没有提交到YARN上执行。从Utilities.getPartitionDesc这句来看是优化的时候,在读取分区信息时出现了内存溢出。所以想到是不是扫描的表,分区是不是太多了。果然SQL中的一个表有36万个分区,这种分区太多的情况应该避免的。 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at ja原创 2020-07-06 10:24:44 · 2157 阅读 · 0 评论 -
【十八掌●武功篇】第十掌:Hive中的Grouping Sets
自从Hive 0.10.0版本起,Hive增加了Grouping Sets、Cube、rollup操作和Grouping_ID函数。1、Grouping Sets可以在Group By语句后面添加Grouping Sets语句,以实现对同一个数据集上同时进行多组的group by操作。可以理解为多个group by 语句进行union操作。可以参考下面的例子: Groupi...原创 2018-05-21 18:49:16 · 4168 阅读 · 0 评论 -
【十八掌●武功篇】第十掌:根据一个错误探究MapJoin
一、出现的问题在执行一个Hive SQL的时候,遇到一个报错,语句和报错信息如下:select h.ID_1,h.ID_2,h.ID_3,h.ID_4,h.ID_5,h.ID_6,h.ID_7,h.ID_8,h.ID_9,h.change_code,h.s_date,'2018-05-07' as e_datefrom ( select ...原创 2018-05-21 11:26:27 · 886 阅读 · 0 评论 -
【十八掌●武功篇】第八掌:HBase之Shell
十二、 HBase Shell命令概览原创 2017-12-01 08:43:49 · 615 阅读 · 0 评论 -
【十八掌●武功篇】第十掌:Hive之安装过程实践
这一篇博文是【大数据技术●降龙十八掌】系列文章的其中一篇,点击查看目录:大数据技术●降龙十八掌1、 安装Hive(1) 选择CDH版本的选择版本hive-0.13.1-cdh5.3.6.tar.gz(2) 解压文件[hadoop@bigdata-senior03 sofeware]$ tar -zxf hive-0.13.1-cdh5.3.6.tar.gz -C /opt/modules/原创 2017-11-17 08:38:20 · 570 阅读 · 0 评论 -
【十八掌●武功篇】第十掌:Hive之高级知识
这一篇博文是【大数据技术●降龙十八掌】系列文章的其中一篇,点击查看目录:大数据技术●降龙十八掌一、 Hive文件格式1、 常见文件格式Hive中的文件格式常见的有:textfile文件格式、sequencefile二进制序列化文件格式、rcfile、orc、parquet。hive表的文件格式一般是在创建表时用stored as语句声明,如:create table de原创 2017-11-17 08:22:50 · 859 阅读 · 0 评论 -
【十八掌●武功篇】第十掌:Hive之原理与优化
这一篇博文是【大数据技术●降龙十八掌】系列文章的其中一篇,点击查看目录:大数据技术●降龙十八掌一、Hive架构Hive的核心Hive的核心是驱动引擎,驱动引擎由四部分组成:解释器:解释器的作用是将HiveSQL语句转换为语法树(AST)。编译器:编译器是将语法树编译为逻辑执行计划。优化器:优化器是对逻辑执行计划进行优化。执行器:执行器是调用底层的运行框架执行逻辑原创 2017-11-17 08:09:11 · 1212 阅读 · 0 评论 -
【十八掌●武功篇】第十掌:Hive之基本语法
这一篇博文是【大数据技术●降龙十八掌】系列文章的其中一篇,点击查看目录:大数据技术●降龙十八掌一、前言我写这篇文章的目的是尽可能全面地对Hive进行入门介绍,这篇文章是基于hive-1.0.0版本介绍的,这个版本的Hive是运行在MapReduce上的,新的版本可以运行在Tez上,会有一些不同。Hive是对数据仓库进行管理和分析数据的工具。但是大家不要被“数据仓库”这个词所吓倒,数原创 2017-11-17 07:36:46 · 1145 阅读 · 0 评论 -
hive.map.aggr、hive.groupby.skewindata执行过程
这里是图片原创 2018-07-10 16:36:59 · 9708 阅读 · 3 评论 -
Hive2.1函数列表
函数 运算符 函数 自带函数 用户自定义函数原创 2018-06-07 10:32:34 · 8368 阅读 · 0 评论 -
【十八掌●武功篇】第十掌:HiveSQL中分区筛选条件怎么写效率才最高
在写Hive SQL时,当遇到两个分区表a 和 b 相Join的时候,分区筛选条件怎么写效率才高呢?有下面三种书写方式,下面就根据三个语句的执行计划分析一下,看种写法的执行效率会更高。1、将分区筛选条件放入where中select * from his hleft join s_test s on h.ID_1=s.ID_1where h.dt='2018-05-07' a...原创 2018-05-23 19:13:28 · 3219 阅读 · 1 评论 -
【十八掌●武功篇】第十掌:参数mapreduce.job.reduce.slowstart.completedmaps
之前我所见到的hive语句在执行mapreduce job的时候,打印的日志都是当map执行到100%的时候,再执行reduce。今天在执行hive sql的时候发现map还没有执行完成,reduce任务就开始。如下图所示:开始不知道原因,后来经过度娘,发现原来在mapred-site.xml配置文件中有一个参数mapreduce.job.reduce.slowstart.complete...原创 2018-05-23 11:25:34 · 5061 阅读 · 0 评论