Hive
hive 学习笔记
章鱼哥TuNan&Z
追求幸福,探索未知,不卑不亢,沉稳可靠。所有技能都会因为不用而退化。避免这种损失的正确对策是使用一些类似于飞行员训练中用到的飞行模拟器那样的东西。这种模拟器让飞行员能够持续地操练所有很少用到但必须保证万无一失的技能。明智的人会终身操练他全部有用然而很少用的上的、大多数来自其他学科的技能,并把这当做事一种自我提高的责任。如果他减少了他操练的技能的种数,进而减少了他掌握的技能的种数,那么他自然会陷入“铁锤人倾向”引起的错误之中。他的学习能力也会下降,因为他需要用来理解新经验的理论框架已经出现了裂缝。对于一个善于思考的人而言,把他的技能编排成一张检查清单,并常常将这张清单派上用场,也是很重要的。
展开
-
SQL 中去掉字段中字符串左边的0
SQL 中去掉字段中字符串左边的0原创 2023-02-20 09:42:46 · 2784 阅读 · 0 评论 -
SQL中替换某个字段中的多个字符为一个字符串,或则SQL中将某个字段的多个字符去掉
SQL中替换某个字段中的多个字符为一个字符串,或则SQL中将某个字段的多个字符去掉原创 2023-01-05 20:00:26 · 1583 阅读 · 0 评论 -
hive中实现merge into的功能(hive中低版本中无直接使用merge into的情况)
hive中实现merge into的功能(hive中低版本中无直接使用merge into的情况)原创 2022-06-27 00:00:51 · 1539 阅读 · 0 评论 -
存储过程转hql
存储过程转 hql流程原创 2022-06-17 11:34:03 · 247 阅读 · 0 评论 -
hive的一些重要参数
hive优化原创 2022-06-17 11:32:44 · 214 阅读 · 0 评论 -
hive的一些重要参数
hive的一些重要参数SET hive.tez.container.size=8096;SET hive.tez.java.opts=-Xmx13384m;set hive.execution.engine=tez;set hive.tez.container.size=10240;set dfs.client.use.datanode.hostname=true;set hive.enforce.bucketing=true;set hive.exec.dynamic.partition=t原创 2022-05-18 17:50:25 · 406 阅读 · 0 评论 -
hive建表字段的数据类型确定:
hive建表字段的数据类型确定:涉及到交易笔数一般用:bigint设计到金额的一般用:decimal(38,2)其他的数据一般用string(是否…\分类…)原创 2022-05-12 08:53:44 · 947 阅读 · 0 评论 -
侯圣文大数据体验课笔记,大数据基础,离线数仓,实时计算
侯圣文大数据体验课笔记一、玩转大数据和互联网大厂大数据解析大数据职位有广袤的海洋:未来比较吃香的ABCA:AI人工智能B:Big Date大数据C:云计算人工智能算逛吃看买肉眼检索数据库查询智能推荐存脑袋海报数据库DB大数据BD客户买东西的演进过程:超市买物品,寻找商品只能靠人走看买,有哪些商品在大脑里存储海报:寻找商品在海报上肉眼检索,物品在海报上记录比较先进:自己家附近3公里内,有点像早期的外卖,买什么在在线购原创 2022-05-10 15:37:39 · 1126 阅读 · 0 评论 -
大数据平台设置表数据量的监控任务(阈值)
侯圣文大数据体验课笔记一、玩转大数据和互联网大厂大数据解析大数据职位有广袤的海洋:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R6aNWQ9r-1652164317262)(C:\Users\MSI-NB\AppData\Roaming\Typora\typora-user-images\image-20220508163847484.png?lastModify=1652142610)]未来比较吃香的ABCA:AI人工智能B:Big Date大数据C:云计算原创 2022-05-10 14:35:20 · 680 阅读 · 0 评论 -
大数据平台设置表数据量的监控任务(阈值)
大数据平台设置表数据量的监控任务#------------#本脚本为通用脚本#编写目的:监控玄武平台部分表的数据量,设置阈值,超过设置阈值会报错,发送短信提醒#-----------DB_NAME=${dbname} #DB_NAME:库名TABLE_NAME=${tablename} #TABLE_NAME:表名NORMAL_COUNT=${normalcount} #NORMAL_COUNT:最小阈值MAX_COUNT=${maxcount} #MAX_COUNT:最大阈值P_DATE原创 2022-05-10 14:12:27 · 492 阅读 · 0 评论 -
Hive监控表的数据量,使用analyze
Hive监控表的数据量,使用analyze1、使用方式analyze TABLE td.pt_pmart_ceo_FIN_TRSF_CTR_SITE_MAP partition (dt) COMPUTE STATISTICS noscan工作中用到的统计一个表的数据量# table_counts 查询出传入日期的表的数据量table_counts=$(hive -e "analyze table ${DB_NAME}.${TABLE_NAME} partition(pt='${P_DATE}'原创 2022-05-10 14:09:24 · 1612 阅读 · 0 评论 -
Bucket Join:分桶Join
Bucket Join:分桶Join场景:大表join大表,多次join实现step1:将两张大表的数据构建分桶数据按照分桶的规则拆分到不同的文件中分桶规则=MapReduce分区的规则=key的hash取余key=分桶的字段step2:只要实现桶与桶的join,减少了比较次数分桶本质:低层MapReduce的分区,桶的个数=Reduce个数=文件个数分类Bucket Map Join :普通的分桶Join桶内的没一条 数据要与对方桶的每一条数据进行joi原创 2022-05-07 09:47:15 · 1145 阅读 · 0 评论 -
Sqoop从数仓导出数据到Mysql
动态分区配置、hive压缩、写入时压缩生效--动态分区配置set hive.exec.dynamic.partition=true;set hive.exec.max.dynamic.partitions=2000;set hive.exec.dynamic.partition.mode=nonstrict;set hive.exec.max.dynamic.partitions.pernode=10000;set hive.exec.max.dynamic.partitions=100000;原创 2022-05-05 08:44:03 · 1167 阅读 · 0 评论 -
hive中修改字段的中文注释,表的中文注释
hive中修改字段的中文注释,表的中文注释修改表的字段的中文注释alter table 数据库名.表名 change column 英文字段名 英文字段名 string comment '新的中文注释名称';修改表的中文注释ALTER TABLE 数据库名.表名 SET TBLPROPERTIES('comment' = '新的表备注');...原创 2022-04-18 15:39:45 · 4086 阅读 · 2 评论 -
Hive注释中文乱码
一、修改元数据表注解为UTF8alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) characte原创 2022-04-17 21:31:21 · 2148 阅读 · 0 评论 -
Hive 连续N天登录的问题
##Hive 连续N天登录的问题首先选中登录时间列将该列加上N天tommorrow,使用时间窗口,排序后下移固定天数nextLogin,select userid, logindate, date_add(logindate,2) as tommorrow,--登录日期的第三天 lead(logindate,2,0) over (partition by userid order by logindate) as nextLoginfrom table;userid lo原创 2022-04-17 16:49:51 · 1679 阅读 · 0 评论 -
hive 常用运算
*hive 常用运算**第一部分:关系运算*Hive支持的关系运算符•常见的关系运算符•等值比较: =•不等值比较: <>•小于比较: <•小于等于比较: <=•大于比较: >•大于等于比较: >=•空值判断: IS NULL•非空判断: IS NOT NULL•LIKE比较: LIKE•JAVA的LIKE操作: RLIKE•REGEXP操作: REGEXP•等值比较: =语法:A=B操作类型:所有基本类型描述: 如果表达式A与表达式B原创 2022-04-16 23:38:11 · 749 阅读 · 0 评论 -
hive的数据存储格式
hive的数据存储格式 Hive支持的存储的格式主要有:TEXTFILE(行式存储)、SEQUENCEFILE(行式存储)、ORC(列式存储)、PARQUET(列式存储)。1.1. 列式存储和行式存储[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kD7DATTZ-1649748470312)(C:\Users\MSI-NB\AppData\Roaming\Typora\typora-user-images\image-20220412150642605.png)]原创 2022-04-12 15:28:11 · 3908 阅读 · 0 评论 -
hive的数据压缩
hive的数据压缩 在实际工作当中,hive当中处理数据,一般都需要经过压缩,前期我们在学习hadoop的时候,已经配置过hadoop的压缩,我们这里的hive也是一样的可以使用压缩来节省我们的MR处理的网络带宽MR支持的压缩编码压缩格式工具算法文件扩展名是否可切分DEFAULT无DEFAULT.deflate否GzipgzipDEFAULT.gz否bzip2bzip2bzip2.bz2是LZOlzopLZO.lzo否原创 2022-04-12 14:57:35 · 974 阅读 · 0 评论 -
Hive自定义函数
1.1. Hive自定义函数1.1.1. 概述Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)。根据用户自定义函数类别分为以下三种: 1、UDF(User-Defined-Function) 一进一出 2、UDAF(User-Defined Aggregation Function) 聚集函原创 2022-04-10 23:14:59 · 228 阅读 · 0 评论 -
Hive分析窗口函数(3)LAG,LEAD,FIRST_VALUE,LAST_VALUE
Hive分析窗口函数(3) LAG,LEAD,FIRST_VALUE,LAST_VALUE准备数据cookie1,2018-04-10 10:00:02,url2cookie1,2018-04-10 10:00:00,url1cookie1,2018-04-10 10:03:04,1url3cookie1,2018-04-10 10:50:05,url6cookie1,2018-04-10 11:00:00,url7cookie1,2018-04-10 10:10:00,url4cookie原创 2022-04-10 21:06:21 · 244 阅读 · 0 评论 -
SUM(结果和ORDER BY相关,默认为升序)
SUM(结果和ORDER BY相关,默认为升序)select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime) as pv1 from itcast_t1;select cookieid,createtime,pv,sum(pv) over(partition by cookieid order by createtime rows between unbounded preceding原创 2022-04-10 20:53:14 · 681 阅读 · 0 评论 -
hive 表中加载数据、hive表中的数据导出
hive 表中加载数据、hive表中的数据导出直接向分区表中插入数据通过insert into方式加载数据create table score3 like score;insert into table score3 partition(month='202007') values ('001','002','100');通过查询方式加载数据create table score4 like score;insert overwrite table score4 partition(month原创 2022-04-09 23:15:59 · 1676 阅读 · 0 评论 -
外部分区表综合练习
外部分区表综合练习需求描述:现在有一个文件score.txt文件,存放在集群的这个目录下/scoredatas/month=202006,这个文件每天都会生成,存放到对应的日期文件夹下面去,文件别人也需要公用,不能移动。需求,创建hive对应的表,并将数据加载到表中,进行数据统计分析,且删除表之后,数据不能删除。1、数据准备:hadoop fs -mkdir -p /scoredatas/month=202006hadoop fs -put score.txt/scoredatas/month=20原创 2022-04-09 17:28:07 · 966 阅读 · 0 评论 -
Hive分区表
分区表创建分区表语法create table score(s_id string,c_id string,s_score int) partitioned by (month string) row format delimited fields terminated by '\t';创建一个表带多个分区create table score(s_id string,c_id string,s_score int) partitioned by (year string,month string,d原创 2022-04-09 16:38:21 · 70 阅读 · 0 评论 -
从hdfs文件系统向表中加载数据
从hdfs文件系统向表中加载数据需要提前将数据上传到hdfs文件系统,其实就是一个文件的操作cd /export/servers/hivedatashadoop fs -mkdir -p /hivedatashadoop fs -put teacher.txt /hivedatasload data inpath '/hivedatas/teacher.txt' into table teacher;--先将数据put到hdfs指定文件夹下,再将数据load到表中...原创 2022-04-09 15:38:44 · 919 阅读 · 0 评论 -
hive 比较运算符<=>
hive 比较运算符<=>比较运算符操作符 A<=> B支持的数据类型 基本数据类型描述: 如果A 和 B 都为NULL ,则返回TRUE,其他的和等号(=)操作符的结果一致,如果任一为NULL则结果为NULL...原创 2021-09-28 17:08:58 · 850 阅读 · 0 评论 -
Hive中Group by 与sort by 的区别
Hive中Group by 与sort by 的区别1、ORDER BY 用于全局排序,就是最指定的所有排序键进行全局排序,使用ORDER BY 的查询语句,最后会用一个Reduce Task来完成全局排序。2、sort by用于分区内排序,即每个Reduce 任务内排序。则sort by 只保证每个reduce的输出有序,不能保证全局有序。3、distribute by (字段)根据指定的字段将数据分到不同的reducer,且分发算法是hash散列。4、cluster by(字段)处理具有Dist原创 2021-09-28 14:52:55 · 724 阅读 · 0 评论 -
Hive的分区表
分区表基本操作 在大数据中,最常用的一种思想就是分治,我们可以把大的文件切割划分成一个个的小的文件,这样每次操作一个小的文件就会很容易了,同样的道理,在hive当中也是支持这种思想的,就是我们可以把大的数据,按照每天,或者每小时进行切分成一个个的小的文件,这样去操作小的文件就会容易得多了。创建分区表语法create table score(s_id string,c_id string, s_score int) partitioned by (month string) row format原创 2021-09-27 16:42:14 · 118 阅读 · 0 评论 -
Hive中内部表和外部表之间的转换
Hive中内部表和外部表之间的转换1、查询表的类型desc formatted student;Table Type: MANAGED_TABLE 2、修改内部表student为外部表alter table student set tblproperties('EXTERNAL'='TRUE')3、查询表的类型desc formatted student;Table Type: EXTERNAL_TABLE4、修改外部表student为内部表alter table stud原创 2021-09-27 15:46:49 · 1910 阅读 · 0 评论 -
Hive复杂类型操作
Hive复杂类型操作Array类型源数据:说明:name与locations之间制表符分隔,locations中元素之间逗号分隔zhangsan beijing,shanghai,tianjin,hangzhouwangwu changchun,chengdu,wuhan,beijin建表语句create table hive_array(name string,work_location array<string>)row format delimited fiel原创 2021-09-27 15:37:18 · 107 阅读 · 0 评论 -
数据装载命令Load
数据装载命令LoadLoad命令用于将外部数据加载到Hive表中语法:load data [local] inpath '/export/servers/datas/student.txt' overwrite | into table student [paritition (partcol=val,...)]参数:1、load data:表示加载数据2、local:表示从本地加载数据到hive表;否则从HDFS加载数据到hive表3、inpath:表示加载数据的路径4、overwrit原创 2021-09-27 11:06:49 · 2303 阅读 · 0 评论 -
Hive上复制表结构不复制数据
Hive上复制表结构不复制数据LIKE允许用户复制 现有的表结构,但是不复制数据create table 要创建的表名 like 被复制的表名原创 2021-09-26 17:03:12 · 412 阅读 · 0 评论 -
内部表和外部表的区别
内部表和外部表的区别 EXTERNAL关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(Location),Hive创建内部表时,会将数据移动到数据仓库指定的路径下;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删出数据。...原创 2021-09-26 16:46:23 · 1193 阅读 · 0 评论 -
Hive的交互方式
Hive的交互方式第一种交互方式:bin/hivecd/export/servers/hive-2.1.0/bin/hive创建一个数据库create database mytest;show databases;第二种交互方式:使用sql语句或者sql脚本进行交互不进入hive的客户端直接执行hive的hql语句cd/export/servers/hive-2.1.0/bin/hive -e "create database mytest"或者我们可以将我们的hql语句写成一个原创 2021-09-26 14:34:34 · 229 阅读 · 0 评论 -
Hive的安装方式
Hive的安装方式 hive的安装一共有三种方式:内嵌式、本地模式、远程模式。内嵌模式 内嵌式是内嵌在derby数据库俩存储元数据,也不需要额外起Metastore服务。数据库和Metastore服务都嵌入在主Hive Server进程中。这个是默认的,配置简单,但是一次只能一个客户端连接, 比较适合实验,不能用于生产环境。 解压hive安装包 bin/hive启动即可使用 缺点:不同路径启动hive,每一个hive拥有一套自己的元数据,无法实现共享。本地模式 本地模式采原创 2021-09-26 11:15:48 · 906 阅读 · 0 评论 -
Hive的元数据
Hive的元数据 元数据(metadata):用来存储hive中的有哪些数据库,哪些表,表的字段,分区,索引以及命名空间 (一套命名规则为确保唯一标识)等。元数据存储在关系型数据库中。如hive内置的Derby、第三方数据库如 mysql等。 元数据服务(metastore): 作用是:客户端连接metastore服务,metastore再去连接MySQL数据库来存取元数据。有了metastore服务,就可以有多个客户端同时连接,而这些用户不需要知道mysql数据库的用户名和密码,只需要连接me原创 2021-09-26 10:27:31 · 870 阅读 · 0 评论 -
数据仓库之ETL
数据仓库之ETLETL,是英文Extract-Transform-Load的缩写,用来描述将数据从源端经过**抽取(extract)、转换(transform)、加载(load)**至目的端的过程。ETL是将业务系统的数据经过抽取、清洗、转换之后加载到数据仓库的过程,目的是将企业中散乱、零乱、标准不同意的数据整个在一起。 ETL是数据仓库的流水线,也可以认为是数据仓库的血液,它维系着数据仓库中数据的新陈代谢,而数据仓库日常的管理和维护工作大部分精力就是保持ETL的正常和稳定。...原创 2021-09-22 15:54:15 · 407 阅读 · 0 评论 -
数据仓库分层架构
数据仓库分层架构 按照数据流入流出的过程,数据仓库的架构可分为三层–源数据、数据仓库、数据应用。数据仓库的数据来源于不同的源数据,并提供多样的数据应用,数据自下而上流入数据仓库后向上层快放应用,而数据仓库只是中间集成化数据管理的一个平台。**数据源层(ODS)????*操作型数据(Operational Data Store),是作为数据库到数据仓库的一种过渡,ODS的数据结构一般与数据来源保持一致,而且ODS的数据周期一般比较短。ODS的数据为后一步的数据处理做准备。**数据仓库层(DW)原创 2021-09-22 15:36:34 · 266 阅读 · 0 评论 -
数据仓库与数据库区别
数据仓库与数据库区别数据库数据库一般是面向的是交易系统,针对日常的联机查询操作,通常对少量数据进行查询、修改。用户较为关心相应时间、数据的安全性、完整性和并发支持的用户数等问题。称为联机事务处理OLTP(On-Line Transaction Processing)数据仓库数据仓库一般面向某些主题的历史数据进行分析,支持管理决策,又称为联机分析处理OLAP(On-Line Analytical Processing)两者区别数据仓库是面向主题设计的,数据库是面向事务的设计数据仓库存储的原创 2021-09-22 15:05:40 · 328 阅读 · 0 评论