自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(360)
  • 收藏
  • 关注

原创 JAVA关于Zip压缩包的处理

【代码】JAVA关于Zip压缩包的处理。

2024-06-11 10:12:23 129

原创 关于行式存储与列式存储的区别

行存储一般将一行数据完全读取,如果只需要其中的几列数据,就会存在冗余列,而为了缩短处理时间,消除冗余列是在内存中进行的。列存储读取的数据是集合的一部分或者全部,不存在冗余。行式存储,数据类型一般是多种的,需要进行数据解析,而数据解析多种数据类型的频繁转换消耗CPU,增加解析时间,所以列式存储在数据读取和解析数据做数据分析有优势。行式存储的写入是一次性完成的,而且列式存储的写入需要将一行记录拆分单列存储,所以需要磁头调度,而磁头调度需要时间(磁头定位,移动).列式存储的压缩比显然是要优于行式存储的。

2024-06-03 11:07:36 150

原创 关于Jackson的Datatype问题

报什么错,加什么包。

2024-05-07 13:35:48 129

原创 YML文件解析为JSON

【代码】YML文件解析为JSON。

2024-03-26 10:31:44 311

原创 EventListener学习

思路就是创建事件类,发布订阅模式,通过监听事件的发布,从而进行回调。

2024-03-25 00:32:19 260

原创 JAVA文件导入导出

1.HttpURLConnection 将文件从本地导出到URL。2.将文件从URL拉取到本地。

2024-03-24 23:41:27 177

原创 关于Doris的物化视图与异步物化视图

Doris 的异步物化视图采用基于 SPJG (SELECT-PROJECT-JOIN-GROUP-BY) 模式结构信息的算法来进行透明重写。自动查询优化,而且支持join过程部分字段的优化以及异步刷新操作,异步刷新就是类似Mysql读写机制,记录日志,然后根据日志进行更新操作。而且是后台启动线程去操作,而不需要操作完成再返回成功。

2024-03-14 17:29:51 807

原创 Flume数据源与数据接收端的了解

监听文件,支持断点续传和多目录,但是可能导致重复数据,不能监控二进制数据。

2024-03-13 17:36:50 419

原创 代理模式的学习

静态代理其实就是,替身,或者克隆人。被代理类:代理类: 将被代理类作为属性,调用时相同方法,中间调用被代理类的方法接口类:定义方法,被代理类与代理类都需要实现接口StudentProxy与Student都实现Person,而Proxy是实现方法同时加入自己逻辑。

2024-03-11 13:55:26 573

原创 SpringBoot第四课-Web开发

全自动就是不管MVC,照着SpringBoot写手自一体 配一下WebMvcConfigurer和WebMvcRegisterations全手动 WebMvcConfigurer @EnableWebMvc也就是说 配置注册机和就是部分自动,不配注册机并且标注@EnableWebMvc就是全手动。

2024-03-08 17:28:22 171

原创 SpringBoot第三课-日志

SpringBoot默认日志级别是infoALL 全部日志TRACE 追踪框架详细流程日志,一般不用debug 开发调试期间 记录info 一般日志warn 警告日志error 错误日志fatal 致命日志off 关闭日志debug。

2024-03-08 17:03:15 357

原创 SpringBoot第二课-YML文件与properties文件

yml/yaml通过空格与:来保证层级关系,b是a的属性,要设置a中的b的值,user:child:name: 张三。

2024-03-08 13:14:07 254

原创 Scala学习

在某些情况下(比如对于基本类型的包装类,如 Integer、Character 等),即使两个对象不是同一个实例,只要它们包含的值相同,equals() 方法也会返回 true。在最终输出结果中,| 不会显示,因为在使用 .stripMargin 方法时,Scala 会移除所有以 | 符号开始的行的左侧空白字符。scala是完全面向对象的语言,所以无法使用break,continue关键字这样的方式来中断,或继续循环逻辑,而是采用了函数式编程的方式代替了循环语法中的break和continue。

2024-03-04 15:04:30 645 2

原创 关于Doris的动态分区问题

dynamic_partition.start 和 dynamic_partition.history_partition_num。以本地为准,我们设置的分区字段,是通过和本地的时间进行比较来进行判断的。cTime 最大就只能2024.2.29,否则就超出范围了。不设置最大分区数并且将历史分区改为false就不会删除。当时间时间为2024.2.26时。1.分区的时间以谁为准?2.关于历史分区的问题。

2024-02-26 16:50:02 268

原创 Numpy的学习 第三课 数组的相关数学使用

取到百分位的数,但是这里是小数而不是整数,如果直接用max,这时候就是整数,所以percentile会出现数据类型转换。取下标,比如argmax,但是这样只能取到第一个满足要求的,如何想取到每一个,就需要argwhere 里面放调节即可。2个数组相加,当行列不等时, 会出现空值,而这时候就会复制上面的值进行补充。这里,0时,是每一列的值,1时,是每一行的值,如果不写,就是求全部。这个和其他的没啥区别,就是把数组里面的全部的值全部操作而已。结果的行列, 取决于a的行,b的列。

2024-01-25 11:06:10 438

原创 快速排序学习

将选中的Key进行排序,小于key的放左边,大于Key的放右边,key放中间 之后将小于key的进行快排,大于key的进行快排,这样就是整体的快排了。right与left碰到,因为有一个为空,所以这里必定为空,所以将key填入即可,之后分别递归左边和右边。这时候,将0位的想象为空,或者说,我们选择key的时候就已经把他取出来了。核心思想,就是不符合条件的填到空中,所以移动的是不为空的那个指针。2个指针,一个指针在左边,一个指针在右边,key取第一个。这时候由于right是空,所以移动left。

2024-01-25 10:41:48 355

原创 Numpy的学习 第二课 数组的创建与使用

np.array(数组)

2024-01-22 10:52:26 791

原创 Numpy的学习 第一课 了解以及使用

1.输入模式1.编辑模式 绿色2.命令模式 蓝色2.运行 直接输入jupyter notebook3.文档注释查看函数帮助文档命令 help(函数)单问号与多问号单问号显示文档多问号显示文档+代码3.shift+tab 显示参数4.运行外部文件%run +路径,可绝对可相对这里运行了就相当于方法了,或者是类似于导入库5.统计时间%time 无法精确统计 纳秒为0%timeeit 多次运行,更精准 平均值加标准差 纳秒级别可以控制次数

2024-01-17 21:17:19 485

原创 关于四个by和分区分桶的区别

而四个by是在数据导入时进行调用的。分区分桶是在表创建的时候调用。

2024-01-03 12:19:18 387

原创 关于Flink的旁路缓存与异步操作

将数据库中的数据,比较经常访问的数据,保存起来,以减少和硬盘数据库的交互比如: 我们使用mysql时 经常查询一个表 , 而这个表又一般不会变化,就可以放在内存中,查找时直接对内存进行查找,而不需要再和mysql交互。

2023-11-22 18:56:34 1001

原创 SQL题目记录

【代码】SQL题目记录。

2023-10-19 17:32:49 441

原创 hbase操作学习

deleteall ‘stu’,‘1001’,‘f1:name’ 这一条的全部版本的列都删除。存的是start_key和end_key ,这里和分区分桶不同,分区分桶是哈希,而这个是切分。每个表都有状态,enabled是可用,而如果要删除,先将他修改为不可用状态然后再进行删除。delete ‘stu’,‘1001’,‘f1:name’ 删除最新的。但是destribe查询表需要带库名,如果不带,查的就是默认的库。这两个都行,一个查的是表,一个查的是表的详细信息。删除只能删空的,如果不空就得先删数据,

2023-10-19 16:24:54 739

原创 Spark第一课

因为如果速率不一致, 处理太慢,就会产生数据积压,那么就需要一个缓冲区了,这时候,就需要Kafka了。2.flume是单点消峰,每个机器都得装一个flume,无法分布式,性能不如Kafka。Spark可以将一个范围的数据采集后,再进行计算,这个采集的范围,称之为窗口。优雅关闭: 不接收新请求,但是将当前数据处理完,而不是打断丢失数据。也就是说,如果不专门设置滑动窗口,默认滑动窗口与采集时间一致。窗口处理过程中,根据窗口滑动幅度的不同,存在不同的类型,采集范围不是采集周期 采集范围是采集周期的整数倍。

2023-10-18 14:15:02 107

原创 关于hive的时间戳

unix_timestamp()和 from_unixtime()的2个都是格林威治时间。如果时间戳为小数,是秒,为整数,则是毫秒, 所以如果放入整数秒,就需要*1000。from_unixtme 是可以进行自动时区转换的 (4.0新特性)4.0之前可以通过from_utc_timestamp进行查询。北京时间= 格林威治时间+8。

2023-10-10 21:04:48 378

原创 数仓学习之DWD学习

放入购物车或者增加数量。

2023-09-08 20:51:57 277

原创 DIM层维度表学习之用户维度表分析

因为最新状态的结束时间并不确定,为了避免一天一修改的麻烦,直接将最新状态的结束时间设定为一个不可到达的值,这里设置为9999-12-31.这里注意一下,这里拉链表用状态的结束时间来分区,因为开始时间并不能表现状态的结束和真正的持续结束时间。基数太大,而且变化并不太多,因此保存全部数据消耗的资源并没有显现出特别大的意义,感觉浪费资源了。这样就可以使用拉链表,用开始日期和结束日期来展现用户这段信息持续的状态,因为是按结束时间进行分区,则每天保存的,就是当天结束的状态,或者说,

2023-09-08 13:54:23 587

原创 hive排序

mr中不指定reduce时默认是1,而hive会自动调节reduce数量,hive的切片是256,多少切片多少reduce.

2023-09-07 17:07:31 64

原创 Kafka的文件存储与稀疏索引机制

log就是seg 找数据就是先找log 再从log去找。index是偏移量索引而timeindex是时间戳索引。这些是存储在分区(分区才是实际的存储)文件中的.seg是逻辑概念 而实际由log存储的.

2023-09-07 16:52:53 587

原创 数据仓库的流程

看事物的角度。

2023-09-04 21:30:20 718

原创 关于hiveonSpark的错误问题

关于Spark的配置。

2023-09-04 19:00:24 515

原创 关于Maxwell与Kafka和数据库的监控

零点漂移,当为一天末点时,时间戳还是末点,但是到第二个Flume时,时间戳更新,这时候直接到第二天,导致数据与时间不一致.其实就是配置两端的配置信息,都要能连接上,然后才能去传输数据。每条数据都有时间戳,这个时间戳是同步的时间。5.为什么Kafka后面需要拦截器?1.Maxwell的配置。

2023-08-29 20:14:09 1071 1

原创 数据库集群的简单了解

Update。

2023-08-28 16:36:14 383

原创 Spark最后一课

如果是Client模式,则Driver就是本机了,Executor 会直接交互本机,远程访问提交,不能停止,同时所有Executor会交互本机,而本机资源不足,会导致系统和网络崩溃.按照等级进行尝试,从高等级到低等级,降级机制.如何避免多次访问通一个节点?9.Driver调用资源,找到空闲的NM,进行Executor注册,然后进行任务的切分和分配.全部写入到一个文件中,保证文件内容有序,同时,使用稀疏索引来确定数据的位置。10.Executor 启动线程池,根据优先算法依次启动task线程.

2023-08-25 20:24:41 935

原创 采集项目和数仓项目的关系

采集项目和数仓项目采集和数仓是企业数据管理平台的2个核心功能模块,相对独立,所以可以独立开发数据库将数据传入数据仓库的数据源的过程就叫数据采集。

2023-08-25 19:26:59 536

原创 Hive面试自学版

Hive是由Facebook开源,基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。Hive是一个基于Hadoop的数据仓库工具,可以将结构化数据文件映射为一张表,同时可以将H-SQL语句转化为MapReduce程序在集群上运行。HiveServer2 提供远程访问服务客户通过访问HiveServer2这个中间件来访问Hadoop集群。

2023-08-23 20:29:27 83

原创 关于Map的理解

这个分区合并,就是不同task的相同区号的分区进行合并,例子: task1的分区1和task2的分区1进行合并。这里的cCombiner分区合并指的是 直接在shuflle进行计算 比如 sum什么的。Shuffle中进行了分组聚合,而Reduce对分组聚合后的数据进行重新计算.设定为1时, 根本不走自定义分区器,而是Hash。如果分区数小于规则(分区数不为1) 报错。也可以通过设定reduce数量来调整分区数。分区对应的是ReduceTask。设置输入流的类来控制小文件,

2023-08-23 08:47:56 55

原创 spark第四课

不推荐collect,因为他是将数据放入内存,但是内存不够大的话,就容易崩,所以使用saveAsTextFile更好,直接放入磁盘.Job数量: 只要执行一个行动算子,就会产生一个作业.(不考虑前面,例如sortby也会产生一个作业)分区的大于foreach,因为foreach是一个一个压栈,而Partition是一个区一个区压栈。Stage数量(一个job至少一个阶段,1个shuffle就是一个阶段)依赖是在创建时就已经确定了,而shuffle是在创建后运行时才使用的.

2023-08-21 10:24:38 540

原创 Spark第三课

sortby方法需要传3个参数参数1 排序规则参数2 升序还是降序(false) 默认升序(true)参数3 排序的分区数量(说明方法底层是靠shuffle实现,所以才有改变分区的能力)如何区分是键值对方法还是单值方法呢?通过参数来判断, 如果参数是一个值,就是单值,如果是2个,就是键值对直接对value进行操作,不需要管K当然,也有mapKey方法可以无视Value操作Key。

2023-08-18 20:54:22 1076

原创 Spark第二课RDD的详解

RDDJAVA中的IO。

2023-08-16 21:28:54 1029

原创 关于Linux文件系统只读问题的修改笔记

系统异常关机或者代码修改错误导致硬盘挂载出现问题开启只读模式,但是重启有时候可以解决。

2023-08-15 19:00:35 1284

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除