Yz9876
码龄144天
关注
提问 私信
  • 博客:41,821
    41,821
    总访问量
  • 54
    原创
  • 30,404
    排名
  • 533
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河南省
  • 加入CSDN时间: 2024-08-27
博客简介:

Yz9876的博客

查看详细资料
  • 原力等级
    当前等级
    3
    当前总分
    421
    当月
    4
个人成就
  • 获得791次点赞
  • 内容获得2次评论
  • 获得332次收藏
创作历程
  • 54篇
    2024年
成就勋章
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

hive的存储格式

hive 高版本的不支持索引了,所以使用 datagrip 的时候,hive.log 中会出现大量的错误。查询性能高,写操作慢,所需内存大,计算量大。此格式为行列混合存储,hive在该格式下,会尽量将附近的行和列的块存储到一起。HQL语句最终会被编译成Hadoop的Mapreduce job,因此hive的压缩设置,实际上就是对底层MR在处理数据时的压缩设置。每一种文件文件格式有一定的压缩比例,但是不是真正的压缩,而是文件格式带来的。hive的压缩使用的是工具压缩,跟存储格式自带压缩不是一回事儿。
原创
发布博客 2024.12.12 ·
1393 阅读 ·
24 点赞 ·
0 评论 ·
9 收藏

Hive的Serde

在哪里听过这个词?--> 只要碰见将对象存入内存、硬盘、网络传输,对象必须序列化。对象可以想象为活物。1、Java的序列化 (implements Serializable) 讲IO流以及Web开发的时候2、MapReduce Hadoop抛弃了java的序列化方式,自己又创建了一套,implements Writable,原因是 Java的序列化 出来的数据太大了。3、Hive 比如 select * from t_user; --> 查询就是硬盘的数据变为控制台输出的数据,这个过程是反序列化的。假如 i
原创
发布博客 2024.12.12 ·
804 阅读 ·
21 点赞 ·
0 评论 ·
19 收藏

Hive排名函数

row_number从1开始,按照顺序,生成分组内记录的序列,row_number()的值不会存在重复,当排序的值相同时,按照表中记录的顺序进行排列。生成数据项在分组中的排名,排名相等会在名次中不会留下空位。生成数据项在分组中的排名,排名相等会在名次中留下空位。
原创
发布博客 2024.11.27 ·
568 阅读 ·
20 点赞 ·
0 评论 ·
0 收藏

Hive序列函数

可以看成是:它把有序的数据集合 平均分配 到 指定的数量(num)个桶中, 将桶号分配给每一行。如果不能平均分配,则优先分配较小编号的桶,并且各个桶中能放的行数最多相差1。语法:lag(colName,n[,default value]): 取字段的前第n个值。需求:获取一个表中,所有消费记录中,每一个人,最后50%的消费记录。last_value 分组内排序后,截止到当前行,最后一个值。lead返回当前数据行的后第n行的数据。lag返回当前数据行的前第n行的数据。需求:求5分钟内点击100次的用户。
原创
发布博客 2024.11.27 ·
187 阅读 ·
5 点赞 ·
0 评论 ·
1 收藏

hive 窗口函数Over

来一个需求:求每个部门的员工信息以及部门的平均工资。在mysql中如何实现呢。以后看见这种既要明细信息,也要聚合信息的题目,直接开窗!上案例:数据order.txt指标一:需求:查询每个订单的信息,以及订单的总数指标二:查询在2018年1月份购买过的顾客购买明细及总次数。指标三:查询在2018年1月份购买过的顾客购买明细及总人数。
原创
发布博客 2024.11.26 ·
383 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

Hive的基础函数

hive中的字段的别名,英文别名不要使用单引号或者双引号,直接写就行,如果是中文的别名需要添加反引号``6) coalesce(col1,col2,col3...)返回第一个不为空的数据。1)nvl 判断一个数值是否为null,如果为null,给一个默认值。语法:array_contains(数组,值),返回布尔类型。3)get_json_object 从json数据中获取值。4) parse_url 解析一个字符串中的url参数。作用:判断数组是否包含某元素。
原创
发布博客 2024.11.26 ·
427 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Flink运行时报 Recovery is suppressed by NoRestartBackoffTimeStrategy

是因为这个 flink 因为某些错误运行失败,但是没有尝试重启。1.15版本之后Flink 已经将。
原创
发布博客 2024.11.25 ·
346 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

Hive的基础函数-日期函数

from_unixtime 换算的时间出来之后,和真实的时间相差 8 小时。所以要+8 小时的秒值。将日期转为字符串:date_format()
原创
发布博客 2024.11.25 ·
685 阅读 ·
5 点赞 ·
0 评论 ·
0 收藏

Hive的压缩【是优化手段之一】

map阶段的设置, 就是在MapReduce的shuffle阶段对mapper产生的中间结果数据压缩。在这个阶段,优先选择一个低CPU开销的算法。因为map阶段要将数据传递给reduce阶段,使用压缩可以提高传输效率。HQL语句最终会被编译成Hadoop的Mapreduce job,因此hive的压缩设置,实际上就是对底层MR在处理数据时的压缩设置。hive的压缩使用的是工具压缩,跟存储格式自带压缩不是一回事儿。压缩工具如何判断好坏?2)hive在reduce阶段的压缩。1)hive在map阶段压缩。
原创
发布博客 2024.11.21 ·
266 阅读 ·
7 点赞 ·
0 评论 ·
0 收藏

hive的存储格式

1) 四种存储格式hive的存储格式分为两大类:一类纯文本文件,一类是二进制文件存储。Hive支持的存储数据的格式主要有:TEXTFILE、SEQUENCEFILE、ORC、PARQUET第一类:纯文本文件存储textfile: 纯文本文件存储格式,不压缩,也是,磁盘开销大,数据解析开销大第二类:二进制文件存储会压缩,不能使用load方式加载数据- parquet:会压缩,不能使用load方式加载数据- rcfile:会压缩,不能load。查询性能高,写操作慢,所需内存大,计算量大。
原创
发布博客 2024.11.21 ·
1081 阅读 ·
7 点赞 ·
0 评论 ·
8 收藏

Hive分桶超详细!!!

--指定表内的字段进行分桶。sorted by (id asc|desc) ---指定数据的排序规则,表示咱们预期的数据是以这种规则进行的排序举例:sorted by 指定分桶表中的每一个桶的排序规则--指定getPartition以哪个字段来进行hash,并且排序字段也是指定的字段,排序是以asc排列--相当于distribute by (id) sort by (id)想当于:distribute by (id) -- 指定getPartition以哪个字段来进行hash。
原创
发布博客 2024.11.20 ·
1491 阅读 ·
22 点赞 ·
0 评论 ·
10 收藏

Hive分区的种类 & 分区关联数据的三种方式

静态分区:先创建分区,再加载数据:直接加载数据,根据数据动态创建分区混合分区:分区字段有静态的,也有动态的。
原创
发布博客 2024.11.20 ·
483 阅读 ·
6 点赞 ·
0 评论 ·
0 收藏

Hive分区详细教程

创建表的时候 partitioned by (year string,month string,day string) 表示创建一个拥有3级分区的表,目前如果没有数据的,是一个分区都没有的。可以将数据按照天进行分区,一个分区就是一个文件夹,当你查询20230826的时候只需要去20230826这个文件夹中取数据即可,不需要全表扫描,提高了查询效率。以上创建的是一级分区,只有一个分区字段,但是有两个分区 dt=20230825 和 dt=20230826。新创建的分区表没有数据的话,是不会有文件夹的。
原创
发布博客 2024.11.19 ·
1475 阅读 ·
48 点赞 ·
0 评论 ·
21 收藏

hive复杂数据类型Array & Map & Struct & 炸裂函数explode

会将UDTF函数生成的结果放到一个虚拟表中,然后这个虚拟表会和输入行进行join来达到数据聚合的目的。第一步,先将学科和成绩形成一个kv对,其实就是字符串拼接。说明:下标从0开始,越界不报错,以null代替。为什么学这个,因为我们想把数据,变为如下格式。-- lateral view:虚拟表。需求4:查询每个人的最后一科的成绩。explode 专门用于炸集合。
原创
发布博客 2024.11.18 ·
529 阅读 ·
9 点赞 ·
0 评论 ·
5 收藏

关于Hive使用的一些技巧

第四种默认设置:hive在安装的时候会有元数据,元数据中的设置为默认设置,假如你想更改设置,需要自己编写一个hive-site.xml ,在这个文件中想顶掉哪个默认设置就写哪个。第一种和第二种其实是一种,生命周期都是客户端进入,hive进入后,会自动加载.hiverc文件,将里面的set执行一遍。假如窗口中设置以窗口为准,顶掉前面所有地方的设置,假如.hiverc设置,.hiverc 中的设置会顶替到它之前所有的设置,以此类推。假如 .hiverc 中也有相同的配置,以.hiverc 为准。
原创
发布博客 2024.11.18 ·
640 阅读 ·
18 点赞 ·
0 评论 ·
3 收藏

hive-内部表&外部表-详细介绍

内部表:表面来看,我们建的所有的表,默认都是内部表,内部表又叫做管理表,它的位置也很固定/user/hive/warehouse下面。外部表:创建的时候需要加关键字external 修饰,而且,外部表它的数据的存储位置可以不在/user/hive/warehouse,可以指定位置。id int,这个location 是本地的意思还是hdfs的路径呢?答案是必须在hdfs上。
原创
发布博客 2024.11.14 ·
857 阅读 ·
10 点赞 ·
1 评论 ·
5 收藏

Hive的数据导出

数据导出的分类:1. 从hive表中导出本地文件系统中(目录、文件)2. 从hive表中导出hdfs文件系统中3. hive表中导出到其它hive表中。
原创
发布博客 2024.11.14 ·
646 阅读 ·
11 点赞 ·
0 评论 ·
0 收藏

Hive基础

规则:大小写规则:1. hive的数据库名、表名都不区分大小写2. 建议关键字大写命名规则:1. 名字不能使用数字开头2. 不能使用关键字3. 尽量不使用特殊符号。
原创
发布博客 2024.11.11 ·
782 阅读 ·
8 点赞 ·
0 评论 ·
4 收藏

Hive的远程模式

通过hiveserver2 运行的命令,默认底层帮你创建了一个metastore服务器,可能叫ms02,假如有很多人连接我的mysql,就会有很多个metastore,非常的占用资源。解决方案就是:配置一个专门的metastore,只有它可以代理mysql服务,别人必须经过它跟mysql进行交互。假如 hive 直接进入的,操作了数据库,其实底层已经帮助创建了一个metastore服务器,可能叫ms01。修改集群的三个core-site.xml,记得修改一个,同步一下,并且重启hdfs。
原创
发布博客 2024.11.11 ·
877 阅读 ·
10 点赞 ·
0 评论 ·
3 收藏

hive - 本地模式--最常使用的模式

使用本地模式的最大特点是:将元数据从derby数据库,变为mysql数据库,并且支持多窗口同时使用。初始化元数据(本质就是在mysql中创建数据库,并且添加元数据)将mysql的驱动包,上传至 hive 的lib 文件夹下。测试:同时打开两个窗口都可以使用, 支持多个会话。第三步:修改配置文件 hive-site.xml。第一步:检查你的mysql是否正常。第二步:删除以前的derby数据。
原创
发布博客 2024.11.09 ·
320 阅读 ·
5 点赞 ·
0 评论 ·
0 收藏
加载更多