草庐IT

Hive优化篇-Hive数据存储格式

前言本文讲解Hive的数据存储,是Hive操作数据的基础。选择一个合适的底层数据存储文件格式,即使在不改变当前HiveSQL的情况下,性能也能得到数量级的提升。这种优化方式对学过MySQL等关系型数据库的小伙伴并不陌生,选择不同的数据存储引擎,代表着不同的数据组织方式,对于数据库的表现会有不同的影响。Hive数据存储常用的格式如下:行式存储文本格式(TextFile)二进制序列化文件(SequenceFile)列式存储行列式文件(RCFile)优化的行列式文件(ORCFile)ApacheParquet注:RCFile和ORCFile并不是纯粹的列式存储,它是先基于行对数据表进行分组(行组),

HIVE 增加修改删除字段

HIVE增加修改删除字段非分区表增加字段修改字段(修改字段名称、类型、注释、顺序)删除字段分区表新增字段修改字段(changecolumn)替换字段(replacecolumn)非分区表增加字段增加字段可以使我们在所有字段之后和分区字段之间增加一个字段使用格式ALTERTABLEtable_nameADD|REPLACECOLUMNS(col_namedata_type[COMMENTcol_comment],...)[CASCADE|RESTRICT]--(Note:Hive1.1.0andlater)使用示例,在user_info中增加user_addr字段,现有的表数据如下:ALTERT

线上 hive on spark 作业执行超时问题排查案例分享

线上hiveonspark作业执行超时问题排查案例分享大家好,在此分享一个某业务系统的线上hiveonspark作业在高并发下频现作业失败问题的原因分析和解决方法,希望对大家有所帮助。1问题现象某业务系统中,HIVESQL以hiveonspark模式运行在yarn上指定的资源队列下,在业务高峰期发现部分SQL会报错,但重试有时又能够成功。作业具体报错信息,和示例截图如下:SQLfailedtocreatesparkclientforsparksessionxx:java.util.concurrent.TimeoutException:clientxxtimedoutwaitingforcon

Hive字符串函数-空格处理

平常我们在数据开发的过程中,字符串函数里面包含空格会导致数据的一致性被破坏,造成我们的开发脚本出错,所以我们在数据预处理的时候,有两种情况需要考虑,一种是字符串里面空格的内容是否需要清洗,另一种字符串长度缺少是否需要用空格填充。一、去空格函数1,去空格函数:trim语法:trim(stringA)说明:去除字符串两边的空格参数释义:stringA可以是字符串字段,或者是字符串内容示例SQL:selectlength('四川办');selectlength(trim('四川办'));返回结果:133结果释义:上面没有去除空格,字符串长度为13,trim()函数去除空格之后,字符串的长度为3。2,

hive limit分页查询、row_number()分页查询

文章目录前言1.支持limitm-1,n语法的hive版本2.不支持limitm-1,n语法,使用row_number()函数2.1row_number()的使用2.2分页前言  hive执行limit语句报错,分页失败1.支持limitm-1,n语法的hive版本SELECT*FROM表名LIMITn; //检索前n个记录行SELECT*FROM表名LIMITm-1,n; //检索m行到m+n行如:2.不支持limitm-1,n语法,使用row_number()函数2.1row_number()的使用  (1)按照deptno分组,不排序select*,row_number()over(pa

《黑马程序员2023新版黑马程序员大数据入门到实战教程,大数据开发必会的Hadoop、Hive,云平台实战项目》学习笔记总目录

本文是对《黑马程序员新版大数据入门到实战教程》所有知识点的笔记进行总结分类。学习视频:黑马程序员新版大数据学习时总结的学习笔记以及思维导图会在后续更新,请敬请期待。前言:配置三台虚拟机,为集群做准备(该篇章请到原视频进行观看,不在文章内详细展开)1.设置三台Linux虚拟机的主机名和固定IP2.在Linux系统以及本机系统中配置了主机名映射3.配置了三台服务器之间root用户的SSH免密互通4.安装配置完成了JDK环境5.关闭了防火墙和SELinux6.更新了时区和同步了时间7.拍摄快照保存状态第一章:大数据&分布式 大数据&分布式:数据导论(数据与其价值、大数据技术栈)、大数据诞生(大数据技

python - 如何通过 Python 访问 Hive?

https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-Python似乎已经过时了。当我将它添加到/etc/profile时:exportPYTHONPATH=$PYTHONPATH:/usr/lib/hive/lib/py然后我可以按照链接中列出的方式进行导入,除了fromhiveimportThriftHive实际上需要:fromhive_serviceimportThriftHive接下来示例中的端口是10000,当我尝试时导致程序挂起。默认的HiveThrift端口是9083,它停止了挂起。所

python - 如何通过 Python 访问 Hive?

https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-Python似乎已经过时了。当我将它添加到/etc/profile时:exportPYTHONPATH=$PYTHONPATH:/usr/lib/hive/lib/py然后我可以按照链接中列出的方式进行导入,除了fromhiveimportThriftHive实际上需要:fromhive_serviceimportThriftHive接下来示例中的端口是10000,当我尝试时导致程序挂起。默认的HiveThrift端口是9083,它停止了挂起。所

hive与Oracle

一、hive底层逻辑   GROUPBY原理 selectname,count(num)fromtbgroupbynamemap阶段,将groupby后的字段组合作为key,如果groupby单字段那么key就一个。将groupby之后要进行的聚合操作字段作为值,如要进行count,则value是1;如要sum另一个字段,则value就是该字段。shuffle阶段,按照key的不同分发到不同的reducer。注意此时可能因为key分布不均匀而出现数据倾斜的问题。reduce阶段,将相同key的值累加或作其他需要的聚合操作,得到结果。JOIN原理  count(distinct)原理select

Hive正则表达式

前段时间,在我们数据开发的过程中,因为没有现成的数据表,导致数据没有办法直接取,需要解析日志的内容,从日志里面拿到我们想要的数据,但是日志的内容并没有那么的规则,这个时候,正则表达式就展现出很大的优势,正好我也把正则表达式温习实践了一遍,正好整理下来。hive支持的正则表达式有三种,分别是regexp、regexp_replace、regexp_extract一、regexp1,语法格式:AREGEXPB释义:A是需要匹配的字符串,B是正则表达式字符串返回结果:boolean或null示例SQL:select'四川办'regexp'川办';select'四川办'regexp'湖南';返回结果: