hive 字段个数限制_小白篇(八):大数据Hive参数优化

简短介绍
大家好,国庆马上就要结束了,该调整下了哦。有的小伙伴们会觉得放假比上班还累。那是过度消费假期哦。其实大家时间长得很,控制下小小的贪玩心,注意锻炼好身体比什么都重要。好吧,啰嗦了。今天给大家分享下Hive参数优化。

01

—

如何进行Hive参数优化

下面我们基于CDH安装的Hadoop集群进行分享。优化后,可以使我们运行的代码不会提示莫名其妙的错误(如:动态分区数量不够)

20cb9d26fb850d3648d0ce68dd160303.png

  • 基于CDH界面配置(Hive优化)

步骤一、集群安装完成后,找到Hive组件。点击进去。

448bfe4bd96973fa2c5a5a2f66144917.png

步骤二、选择“配置”

d2988a5093471d2ac433d08a0d708a0c.png

步骤三、通过筛选查找想优化的选项。

e500ce96f1407a02b03994d5382f9655.png

步骤四、我们主要讲解下“hive-site.xml” 的优化配置。 在这个xml中承载了Hive绝大部分的运行优化(即:sql运行过程中的执行优化。如资源、小文件个数、允许的分区个数等等)。

hive-site.xml 有对:客户端、服务端、接口端的优化配置

ea68dc85652046fdc60a586807d0aa02.png

服务端

d79dcbc6c7b09db3b0494a4d938a7d52.png

客户端

422a69fb437de8dcf1d0ac6db353a5d3.png

接口服务端(截图位置为测试环境:本人尚未做配置优化)

76d761074714597a45b966c7187ed682.png

步骤五、在每个hive-site.xml中均可配置如下配置进行一些优化

  • 显示库名、字段名配置

<property><name>hive.cli.print.current.dbname><value>truevalue><description>显示库名称description>property><property><name>hive.cli.print.headername><value>truevalue><description>显示表列名description>property>
  • 动态分区配置

<property><name>hive.exec.dynamic.partitionname><value>truevalue><description>开启动态分区description>property><property><name>hive.exec.dynamic.partition.modename><value>nonstrictvalue><description>动态分区模式description>property><property><name>hive.exec.max.dynamic.partitionsname><value>100000value><description>动态分区上限description>property><property><name>hive.exec.max.dynamic.partitions.pernodename><value>100000value><description>mapreduce可创建分区上限description>property>
  • 查询优化

<property><name>hive.cbo.enablename><value>truevalue><description>去除多余mapreducedescription>property><property><name>hive.exec.parallelname><value>truevalue><description>开启job并行description>property><property><name>hive.exec.parallel.thread.numbername><value>16value><description>job并行数量description>property><property><name>hive.optimize.reducededuplicationname><value>truevalue><description>简单查询只包括一个group by和order by,将字段设置为1或2description>property><property><name>hive.auto.convert.joinname><value>truevalue><description>根据文件大小决定是否使用Map Joindescription>property><property><name>hive.auto.convert.join.noconditionaltaskname><value>truevalue><description>根据无条件关联的语句决定是否使用Map Joindescription>property>
  • 小文件优化

<property><name>hive.merge.mapfilesname><value>truevalue><description>开启小文件合并description>property><property><name>hive.merge.mapredfilesname><value>truevalue><description>开启小文件合并description>property><property><name>hive.merge.tezfilesname><value>truevalue><description>tez压缩文件合并description>property><property><name>hive.merge.sparkfilesname><value>falsevalue><description>spark文件合并description>property><property><name>hive.merge.size.per.taskname><value>536870912value><description>合并的大小description>property><property><name>hive.merge.smallfiles.avgsizename><value>536870912value><description>合并的大小description>property><property><name>hive.merge.orcfile.stripe.levelname><value>truevalue><description>orc合并description>property>
  • 临时执行配置(set 关键字)

此方式,需要在每次运行sql最前面set 参数。上面提到的参数,均可在sql前面set。当然不仅仅只有这些参数哦。

例如:

set hive.execution.engine=spark; -- 设置执行引擎sparkset spark.app.name=hive_运行的别名; -- 设置运行别名.不设置即默认显示运行sql的前面几个字符,不方便知晓运行sql的真实目的select name,max(id) id from dc_dev.test_tab;-- sql最前面set 参数后,在会话中临时生效。即当前连接的情况下。-- 一旦连接中断或关闭,需要重新set

两种配置方式对比

对比项基于cdh界面配置临时执行配置(set)
影响范围全局(所有sql代码)局部(当前会话提交的sql)
灵活度不高高
简便度简单(一次配置,每次生效,无需set)复杂(每次需set)
参数优先级比局部set低比统一配置高

说明:对于一些常规优化,可以通过cdh界面配置即可。但是针对特殊场景还是需要采用set的方式来进行优化。相互结合使用。

02

—

小结

Hive参数优化可不仅仅是上面所说的这些哦,也需要小伙伴们自己发现优化点。这里只是说的一些常规优化点,带大家入门而已。大家可根据实际工作情况进行探索。保持好奇心好学心,多思考。有时候学习真的是个人的事情,别人只能是指点下,后续的精进程度只能是自己去悟了。坚持、加油!广告(大数据学习)打个小广告,如果真心想学大数据,后台留言。免费开些直播课程教教小伙伴们(真实工作体验)。如果感觉还行,再讨论付费课程,远比市面上便宜,学得真实(毕竟本人还在厂里上班)。我们有在平安、众安、同程、美团工作的小伙伴。虽然大部分做的架构的事,但是我们都是小屌丝。都是为了生活而努力,各位一起加油!

如果大家喜欢可关注公众号,感谢!

1fba09396f6f969310993373343ae0da.png

hive tez使用小文件合并参数后,单个文件大小大于128MB Hive Tez小文件合并 阅读详情

相关推荐

Hive 如何设置map和reduce个数

如何设置map和reduce个数

编程技术、独立开发、技术资讯以及编程感悟等内容 749

小白篇(八):大数据Hive参数优化

我的原文地址: https://mp.weixin.qq.com/s?__biz=MzIxMzg5NzI4OQ==&mid=2247484048&idx=1&sn=8e444bfebc4a3af964cb825e263bc8b0&chksm=97ae9bb6a0d912a0dacabe908bdc8c60f7049d98d40da4513756809b5d2948e74a8aaa17b95c&token=1189979899&lang=zh_CN#rd .

belialxing的专栏 532

Hive string类型字段过滤不加引号

Hive string类型字段过滤不加引号

编程技术、独立开发、技术资讯以及编程感悟等内容 1125

Hive/HiveQL常用优化方法全面总结

目录 列裁剪和分区裁剪 谓词下推 sort by代替order by group by代替distinct group by配置调整 map端预聚合 倾斜均衡配置项 join基础优化 build table(小表)前置 多表join时key相同 利用map join特性 分桶表map join 倾斜均衡配置项 优化SQL处理join数据倾斜 空值或无意义值 单独处理倾斜key 不同数据类型 build table过大 MapReduce优化

qq_36864672的博客 989

Hive on HBase表字段数超过默认限制,select查询报错

0 报错内容 建表可以成功,查询映射表的时候报错。具体如下: 1 原因分析 根本原因:hive on hbase 中默认限制字段的字符数是4000 对于4000个字符,hive Metastore中SERDE_PARAMS表中PARAM_VALUE字段的字符限制是此问题的根本原因。 此限制可防止Hive创建具有高列数的表,最终导致desc或select * from失败并出现上述错误。 2 解决方法 解决方法: 通过在hive Metastore中执行以下操作可以解决此问题 alter .

石榴姐yyds 1381

【大数据Hive】hive 多字段分隔符使用详解

hive 多字段分隔符使用详解

congge_study的博客 8596

hive 字段个数限制_Hive分桶表

一:简介分桶规则:对分桶字段值进行哈希,哈希值除以桶的个数求余,余数决定了该条记录在哪个桶中,也就是余数相同的在一个桶中。分桶语法:创建表时使用clustered子句指定要分桶的字段和分桶的数量,也可以指定排序。clustered by(字段名) sorted by (排序字段) into 数量 bucketshive分桶作用:方便抽样:在处理大规模数据集时,在开发和修改查询的阶段,如果能在数据...

weixin_39765100的博客 2521

Solidworks曲面建模学习(二)——3D草图

本文主要是演示有一些零件在solidworks中通过3D草来绘制会更加方便。

东东不熬夜的博客 9507

hive修改字段及字段类型

hive修改字段类型语句:alter table 表名 change column 原字段名 新字段名 字段类型; alter table user_chain change column u_register u_registe date;(u_register原类型为string类型) 这样修改会报一个错误: FAILED: Execution Error, return code 1 fro...

sunqingok的博客 6万+

基于MATLAB/Simulink与WSL2的ROS2实时联合仿真实践

本文详细介绍了基于MATLAB/Simulink与WSL2的ROS2实时联合仿真实践。通过环境配置、PX4仿真环境搭建、自定义消息生成、Simulink通信实现及实时优化等步骤,提供了完整的无人机位置控制案例,帮助开发者实现高精度的实时联合仿真。

red88的博客 204

RTKLIB PPP与RTK_POST精密定位实战:从实时到事后处理的完整流程解析

本文详细解析了如何使用RTKLIB进行精密单点定位(PPP)的完整流程,涵盖从实时处理到事后处理(RTK_POST)的关键步骤。文章深入探讨了数据准备、软件配置、核心参数设置(如电离层、对流层、潮汐改正)以及常见问题排查,旨在帮助用户掌握高精度GNSS定位技术,实现从入门到精通的实战应用。

weixin_29047919的博客 280

hive 字段个数限制_Hive优化常见面试题

众所周知,现在企业在招聘大数据开发工程师的时候,都会要求你会相关组件的优化,那么作为大数据常用的组件之一的Hive,在面试时一般会问到哪些优化方面的问题勒?1.hive优化有哪些?Join、Map与reduce数量、Jvm重用三个方向•解决数据倾斜问题•减少job数•设置合理的map reduce的task数,能有效提升性能。•了解数据分布,自己动手解决数据倾斜问题是个不错的选择•数据量较大的情况...

weixin_35275781的博客 2227

DVWA靶场实战:手把手教你绕过文件上传限制,用蚁剑连接一句话木马

本文详细介绍了在DVWA靶场中如何绕过文件上传限制并利用蚁剑连接一句话木马的实战技巧。通过分析文件上传漏洞原理、创建一句话木马、使用Burp Suite拦截修改请求以及配置蚁剑连接WebShell的全过程,帮助安全研究人员深入理解Web安全防护与攻击技术。

weixin_30335575的博客 91

hive分区用2个字段有何限制_Hive篇:Hive分区表常用语法汇总

前言:如果对分区表了如指掌,那么非分区表的语法就简单多了,只需将PARTITION相关字段去掉就可以了。1. 创建hive分区表//不指定LOCATIONCREATE EXTERNAL TABLEIF NOT EXISTS hive_partition_01(ROWKEY STRING,YEAR INT,MONTH INT,DAY INT,HOUR INT,MINUTE INT)PARTITI...

weixin_35851240的博客 1298

飞行器坐标转换

本文定义的是右手直角坐标系,x−y−zx-y-zx−y−z轴分别为北-天-东。从AAA坐标系到BBB坐标系是分别绕y−z−xy-z-xy−z−x轴,即天-东-北旋转ψ−θ−γψ−θ−γ。如果AAA是惯性系,BBB是机体系,则这三个角度分别为偏航角、俯仰角、横滚角。图1 惯性系到机体系。

gongfuyd的博客 1356

哈工大OS实验四——进程运行轨迹的跟踪与统计

进程运行轨迹的跟踪与统计 进程从创建(Linux 下调用 fork())到结束的整个过程就是进程的生命期,进程在其生命期中的运行轨迹实际上就表现为进程状态的多次切换,如进程创建以后会成为就绪态;当该进程被调度以后会切换到运行态;在运行的过程中如果启动了一个文件读写操作,操作系统会将该进程切换到阻塞态(等待态)从而让出 CPU;当文件读写完毕以后,操作系统会在将其切换成就绪态,等待进程调度算法来调度该进程执行…… process.c解读 void cpuio_bound(int last, int cpu_

优快云-ych 1002

hive分区用2个字段有何限制_在Hive中如何实现数据分区

Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成更小的数据集。那么在Hive中如何进行数据分区呢?分区时应该注意什么样的问题呢?它的分区数如何进行限制呢?一、Hive only:加载分区数据的快捷方法如果指定的分区不存在Hive将创建新的分区这个命令将:(1)如果不存在的话添加分区到表的元数据;(2)如果存在的话,创建子目录:/user/hive/warehouse/call_log...

weixin_39732316的博客 1566

Unity3D实现自定义河流路径或泥石流路径

此工具是一个插件,插件很好用,可以根据地形编辑河流的走向以及宽度,也可以发挥想象编辑成其他的效果,比如泥石流效果,岩浆效果,小溪,或者大江或者大河等等博客将会介绍可以编辑河流的工具的使用。希望这篇博客对Unity的开发者有所帮助。大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。提示:以下是本篇文章正文内容,下面案例可供参考本次总结的就是工具的使用, 有需要会继续增加功能不定时更新Unity开发技巧,觉得有用记得一键三连哦。么么哒!

心疼你的一切博客 5269

hive分区用2个字段有何限制_关于Hive使用动态分区插入数据详解

1.创建一个单一字段分区表hive>create table dpartition(id int ,name string )partitioned by(ct string);2.往表里装载数据,并且动态建立分区,以city建立动态分区hive> set hive.exec.dynamic.partition=true;#开启动态分区,默认是falseset hive.e...

weixin_39702714的博客 1574

【补充篇】三万字了解AUTOSAR软件架构(一)

主要讲解了AUTOSAR软件架构的分层及各个栈的作用

weixin_47571898的博客 1120

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

大数据篇--Hive调优

文章目录一、参数调优1.严格模式:2.Fetch Task功能:3.reduce个数控制:4.map join:二、语法层面调优1.order by和sort by:2.cluster by和distribute by:3.执行计划Explain: 一、参数调优 1.严格模式:   在hive里面可以通过严格模式防止用户执行那些可能产生意想不到的查询,从而保护hive的集群。在严格模式下,用户在运行如下query的时候会报错: 分区表的查询没有使用分区字段来限制 使用了order by 但没有使用limi

小强签名设计 的博客 2779

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Hive如何删除、添加、修改表中的字段

1、添加字段: alter table table_name add columns (column_1 string,column_2 string) 添加之后字段由于hive底层是文件和系列化的设计因此查数据会发现新增的列在所有已有列的后面 2、修改字段 alter table table_name change 已有列 修改名称 类型 comment ''; 3、删除列 Hive不能直接删除列,不然底层系列化就乱了,我们可以通过replace来替换字段,达到同样的效果 alter table ta

别人笑我太疯癫,我笑他人看不穿。 3万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Hive数据查询异常,部分字段为Null

数据查询异常,部分字段为Null

编程技术、独立开发、技术资讯以及编程感悟等内容 967

复习打卡大数据篇——HIVE 03

在order by出现的情况下,不管用户设置几个reducetask,在编译执行期间都会变为一个。第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。只返回两个表中都存在的记录。返回两个表的笛卡尔积,即左表的每一行与右表的每一行组合,结果集的行数等于左表的行数乘以右表的行数。则会保留所有行,包括重复的行。返回左表中的所有行,以及右表中满足连接条件的匹配行。会返回左边表的记录,前提是其记录对于右边的表满足ON语句中的判定条件。返回两个表中的所有行,如果某一行在其中一个表中没有匹配,则返回。

2402_85573962的博客 1246

大数据开发之Hive篇13-Hive的索引

备注: Hive 版本 2.1.1 文章目录一.Hive索引简介二.Hive 索引案例2.1 索引语法2.2 索引相关操作2.3 创建索引案例2.4 使用索引案例 一.Hive索引简介 Hive索引的目标是提高对表的某些列进行查询查找的速度。如果没有索引,则使用类似于“WHERE tab1.col1 = 10”这样的谓词进行查询’加载整个表或分区并处理所有行。但是如果col1存在索引,那么只需要加载和处理文件的一部分。 索引所能提供的查询速度的提高是以创建索引和存储索引的磁盘空间的额外处理为代价的。 Hiv

只是甲的博客 2866

hive sql中的mapjoin参数优化说明

在Hive中,common join是很慢的,如果我们是一张大表关联多张小表,可以使用mapjoin加快速度。 mapjoin主要有以下参数: hive.auto.convert.join : 是否自动转换为mapjoin hive.mapjoin.smalltable.filesize : 小表的最大文件大小,默认为25000000,即25M hive.auto.convert.join....

maenlai0086的博客 1万+
上一篇: 的优先级大小_需求的优先级,如何评估?
下一篇: gpt最大分区容量_对硬盘进行分区时,GPT和MBR有什么区别
weixin_39890708
博客等级 码龄9年 47粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值