自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 别让 PG 背锅:一次真实慢查询的 7 步排查记录

优化后SQL平均执行时间从28秒降至0.4毫秒,QPS回升至1.9万。执行时间为38秒,问题根源在于索引未有效过滤数据,导致全表扫描。执行时间从38秒降至0.38毫秒。,说明索引未有效过滤数据。

2025-12-20 17:01:30 219

原创 安装PGSQL出现An error occured executing the microsoft VC++ runtime installer

在窗口中输入如下类似的Dos命令,将当前目录切换到程序的安装文件目录下。我自己的程序安装目录文件在:E:\Software。然后在地址这里用cmd。

2025-12-20 16:06:47 160

原创 datasophone如何添加新的服务?一招教会你

上回说到datasophone的搭建,这次来唠唠服务的添加,毕竟一个集群不可能只用他的基础服务吧,不然太浪费资源了。接下来以一个添加zookeeper服务为例。选择zookeeper点击下一步。好的,希望能帮到你吧。

2025-12-11 20:28:03 165

原创 搭建部署datasophone 1.2.1版本,用脚都能学会

DataSophon也是个类似的管理平台,只不过与智子不同的是,智子的目的是锁死人类的基础科学阻碍人类技术爆炸,而DataSophon是致力于自动化监控、运维、管理大数据基础组件和节点的,帮助您快速构建起稳定,高效的大数据集群服务。遇到这种情况,多半是缺少了安装包,去官网提供的包里面去找下载后拉倒对应的文件夹下,要.tar和.md5两种的,然后,重新配置一个吧(太难崩了,不懂怎么删除集群)文件,放在/opt/datasophon/DDP/packages/文件里面。

2025-12-11 20:27:57 1296

原创 代码中出现Unsupported mode ‘AUTOMATIC‘ for ‘execution runtime-mode‘问题怎么处理

这一行删除掉就行了,只是写flinkcore的时候会习惯性的写上这句话,删除掉之后就可以正常的运行了。解决的方法很简单,将。

2025-12-02 16:35:42 189

原创 在flink中使用kafkasql遇到Could not find any factory for identifier ‘json‘ that implements ‘org.apache.这个问题

那么这种问题出现的原因主要是因为缺少了json的jar包,而解决的方法也很简单,和解决hive和spark中出现类似的问题一样。如果你不是使用的pom文件进行导包的话还有另一种方法,更加直接简单粗暴,那就是——去官网下载好了以后拉进来。那就是将json包给进行导入就好了,这是我的版本,具体自己适配的版本要自行查询吼。下面的是这个包所在的位置,可自行进行下载。遇到这种问题不要慌,先拍照发个朋友圈。操作完之后再运行就OK啦。

2025-12-02 16:17:15 305

原创 Flink的一些面试题整理

侧输出-SideOutput:通过watermark在短时间内允许了乱序到来的数据,可以将错过水印有错过allowdelateness允许的时间的数据,单独存放在一个DataStream中,然后开发人员可以自定义逻辑对这些超级迟到的数据进行处理。滑动窗口:窗口长度!=滑动距离,其中,如果滑动距离>窗口长度,会漏掉数据,反之则会重复处理数据比如要求是每隔1分钟,统计前面5分钟的数据(滑动距离1分钟,窗口长度5分钟,重复处理4分钟的数据)Filter:读取文件中的日志数据,并过滤出对应的ip,

2025-12-01 20:47:27 381

原创 eventTime+watermarker+allowedLateness到底窗口关闭时间是什么?

此时触发了一个区间的运行 【2025-11-28 12:18:55->2025-11-28 12:19:00) ,我们不关系,而关系的是【2025-11-28 12:18:50->2025-11-28 12:18:55) 有没有关闭?事件时间 >= 窗口结束12:18:55 + watermarker(3s) + allowedLateness(10s)接着需要造一个数据:12:19:08 秒。我们在这个里面又放入了12:18:53 12:18:54 的数据,放入一条,计算一次,放入一条计算一次,为什么?

2025-12-01 15:48:36 864

原创 算子,算法,模型能分得清吗?

您使用的KMeans()是 Spark MLlib 提供的算法组件(算子),而不是模型本身。它们的作用是封装具体的机器学习算法实现提供统一的API接口(fit()配置算法参数最终通过fit()方法训练得到具体的模型简单来说算子= 算法的"模具"或"工厂"模型= 用模具制造出来的"具体产品"

2025-11-18 20:49:12 1107

原创 Spark Core vs Spark MLlib:从数据处理到机器学习的完整指南

分类算法:逻辑回归、决策树、随机森林聚类算法:K-means、LDA、高斯混合模型特征工程:标准化、归一化、特征提取模型评估:准确率、F1分数、AUC等指标算子类别具体算子主要作用使用场景数据准备创建特征向量所有MLlib算法的数据输入模型创建KMeans()创建算法实例定义机器学习算法和参数模型训练fit()从数据中学习规律训练阶段,构建模型预测/转换应用模型进行预测或转换推理阶段,使用模型结果获取获取模型内部信息分析模型学到的规律特性Spark Core主要功能数据处理和转换。

2025-11-18 20:47:21 1240

原创 一些sparksql的面试题

对于外部表,数据可以存在 HDFS、S3 等任何指定位置,Hive 只管理元数据。一是元数据,它存在像 MySQL 这样的独立数据库里,记录的是表结构、分区信息这些。方法,最常用,用来读文本文件,比如从 HDFS 或本地系统读,按行处理。,主要用在测试里,把程序里的一个集合(比如 List)变成 RDD 来用。所以,Hive 本身不产生数据,它主要管理和描述存储在别处的数据。,适合读取一堆小文件,它会返回(文件名, 文件内容)这种格式。二是原始数据本身,对于内部表,数据默认存在 HDFS 的。

2025-11-03 19:31:09 403

原创 EXPLAIN 到底是干嘛的?——MySQL 和 Hive 中的区别一次讲清

场景EXPLAIN 看什么?优化重点MySQL看“查数据”的方式有没有走索引、扫多少行Hive看“跑任务”的流程有没有数据倾斜、Stage 太多EXPLAIN 不是魔法,它只是把“数据库怎么跑你的 SQL”翻译成你能看懂的样子。MySQL 里看它“查得笨不笨”,Hive 里看它“跑得多不多”。学会看 EXPLAIN,是 SQL 优化的第一步,也是最重要的一步。

2025-10-30 19:43:40 577

原创 MySQL vs Hive:EXPLAIN 到底该怎么看?

维度核心目标避免全表扫描避免多余 Stage/Shuffle关键指标Stage 数、Shuffle 关键字、TableScan 行数优化手段加索引、覆盖索引、改写 SQL加分区、加盐、合并子查询、调并行度典型危险type=ALLReduce 卡住、数据倾斜MySQL 看“查”——别让 type 变成 ALLHive 看“跑”——别让 Stage 无限增加把 EXPLAIN 当成体检报告,而不是参考书。报告只看关键指标,超标就动刀,别的花哨字段先忽略,优化自然有章法。

2025-10-30 19:28:58 567

原创 50 行代码讲透 Python 函数:从「菜鸟」到「能写装饰器」

函数是对象→四种参数→闭包捕获→装饰器加功能→lambda 简写→性能看细节。

2025-10-24 08:28:55 151

原创 同样可以调度和预警,那么Azkaban 和 DolphinScheduler之间的区别是什么呢?

维度Azkaban架构Web+Executor(Web 单点)多 Master+多 Worker(真 HA)配置文件(*.job → zip)拖拽+在线编辑器任务暂停❌✅多租户❌✅内置任务类型5+40+存储MySQL BLOBHDFS(3 副本)社区活跃度低高适合规模小-中型 (<50 节点)中-大型 (>50 节点)

2025-10-24 08:23:46 753

原创 Hive 日期函数“全家福”:从“今天几号”到“上个月的最后一天”一篇搞定!

函数示例结果2025-02-28(平年)2025-10-06(下周一)场景:财务月报,自动取“上月月末”数据SELECT *需求直接复制昨天上个月同一天上个月最后一天下周一时间戳→日期日期→时间戳两个日期差几天两个日期差几月。

2025-09-29 08:26:56 490

原创 Hive中PARTITION BY、ORDER BY、GROUP BY用法全解析:实战案例教你如何选择

简单总结一下这几个"BY":​​GROUP BY​​:分组汇总,行数变少 → ​​要汇总统计时用​​​​ORDER BY​​:整体排序,行数不变 → ​​要整体排序时用​​​​:组内计算,行数不变 → ​​要分组但不减少行数时用​​实际工作中,根据你的需求选:要汇总统计 → 用GROUP BY要整体排序 → 用ORDER BY(数据量小)或SORT BY(数据量大)要组内计算但保留所有行 → 用PARTITION BY加上窗口函数。

2025-09-22 10:50:17 1099

原创 Hive的优化:

7、根据computeSliteSize(Math.max(minsize,Math.min(maxsize,blocksize)))=blocksize=128M的公式,调整Max的最大值来设置合理的map数量,开启小文件的合并,以及设置相对合理的reucer数。2、使用explain关键字来分析sql语句,然后根据执行结果来对SQL语句进行动态的调整,其中explain只有对hql也就是Hive SQL的解释,而Explain extened 不仅可以对hql语句进行解释,还有抽象表达式树的生成。

2025-09-22 08:42:23 674

原创 假如你不会使用 jsonSerder,而对方确实给了你一个 json 文件,阁下应该如何应对?

select get_json_object(line,'$.属性1'),get_json_object(line,'$.属性2').... from json3;如果对方给了你一个 json 的文件,你问对方“能不能帮我转换成其他格式啊”,倘若数据量小还好说,万一一个文件几个T呢?2、查询时,使用get_json_object 来处理。对方会不会自己都打不开,那怎么帮你改格式嘛!3、将解析出来的属性,插入另一个表格中。1、新建一个表,这个表中只有一个字段。所以啊,废话不多说用下面的例子说明。

2025-09-19 18:47:02 218

原创 Hive 五字诀:order / sort / distribute / partition / cluster 到底谁是谁?

distribute 只负责分行李,partition 开窗别乱用,建表别写错 clustered!cluster 是分完再整理;“查”全局用 order,“倒”局部用 sort;容易混淆的“双胞胎”

2025-09-19 10:47:19 364

原创 Hive 内部表 vs 外部表:一口咬下去,就知道馅儿不一样

内部表——“删表即毁尸灭迹”,适合自生自灭的中间数据;外部表——“删表留全尸”,适合长期共享的原始数据,生产环境请首选外部表!

2025-09-17 16:15:00 593

原创 Hive 的“映射”魔法 —— 把文件当表用,只需三步!

告诉 Hive 文件长啥样,它就假装这是一张表”。文件可以是:服务器上的 CSV / JSON / 日志HDFS 上的 ORC / Parquet甚至 OSS / S3 上的对象只要给出“字段怎么分、类型是啥、文件在哪”,Hive 就能用 SQL 直接查询,原地不动,不复制、不搬家。Hive 映射 =“给文件穿一件表外套”不搬家、不复制、秒级生效;只要告诉它“怎么切、在哪、啥格式”,SQL 立刻能查,数据原地躺平!

2025-09-17 11:15:00 546

原创 YARN 的 ResourceManager 失败后,如何恢复任务?

(MapReduce 的“recovery”机制,Spark 的“stage re-submission”)(MapReduce JobHistory / Spark Checkpoint)读取。(同一 partition 多次写同内容),保证数据正确。若容器里 Task 属于“Map Only”阶段,,任务断点续传,老板甚至感觉不到集群出过问题——无缝切到新 RM,继续汇报资源 & 容器状态。,切换后新 RM 能 100% 还原现场。下面把最惊心动魄的**“RM 宕机”YARN 只负责“容器还活着”,

2025-09-16 19:38:47 1207

原创 难道你还不知道zk 的选举算法是什么?快来快来!

ZooKeeper 选举就是“zxid 最新者当王,myid 做备胎,过半即合法”——简单、快速、还能自动重选,全靠 ZAB + 临时顺序节点兜底,这才让分布式集群永远“有头儿”

2025-09-16 19:32:28 600

原创 HDFS 纠删码(ErasureCoding)扫盲:同样能容灾,硬盘瞬间省一半

用 CPU 换磁盘同样的“坏盘不丢数”,存储成本直接打5-7 折;只要你的集群 CPU 有余、文件够大,打开 EC 就是“硬盘省一半”的黑科技。

2025-09-16 19:26:14 628

原创 骑士一百天下载安装 MC JAVA

想玩 B 站“骑士一百天”,直接去视频简介拿整合包→ 解压 → 双击启动 → 进存档开生存。别再到处搜单个 Mod,跟着 UP 主一键包,10 分钟就能变身假面骑士,硬刚 100 天!

2025-09-15 19:53:05 3913

原创 Linux 三剑客外传:grep、awk、sed 的江湖恩仇录

记住:任何手动改 100 行的操作,都值得一条 Shell 脚本。awk 先统计,sort 倒序,head 取前十,一气呵成。grep 找得快,sed 改得狠,awk 算得准——一条 sed,胜过手动点开 100 次 Vi。:日志里找“昨天 404 最多的 URL”全程管道,一条命令写完,老板直呼内行!三剑客合壁,Linux 江湖任你行!sort/head 取 Top20。grep 把“昨天”的行捞出来。,再改源文件,翻车可回滚。awk 筛 404 并计数。一行命令,KPI 到手!

2025-09-15 18:53:04 730

原创 Hive 极速上手:基础操作 + 老司机小技巧 100 条

库/表/分区/桶├─ 内部表 vs 外部表├─ 分区(时间+业务)+ 动态分区├─ 桶(CLUSTERED BY)→ 采样 & Map-Side Join├─ 文件格式:ORC(索引+压缩)> Parquet > TextFile├─ 事务表:ORC + 分桶 + TBLPROPERTIES ('transactional'='true')调优开关├─ 小文件:hive.merge.* / insert overwrite├─ 向量化:vectorized.execution。

2025-09-15 18:49:36 511

原创 一次“看似无误”的 MapReduce 踩坑记 —— 当 split(“\t“) 遇上空格分隔的日志

关键词:MapReduce、Mapper 输出为 0、split("\s+")、制表符、日志解析、Hadoop 调试技巧。

2025-09-12 11:06:41 422

原创 从零数清楚:MapReduce 里 Map 究竟干了啥,Reduce 又干了啥?——以及“到底什么时候可以省掉 Reduce”

Combiner 是 Map → Reduce 之间的优化,没有 Reduce 阶段也就不会调用 Combiner。当业务只需要“分类”而无需“汇总”时,放心把 Reduce 踢掉,让数据从 Map 端直飞磁盘,省时又省带宽。例:Map 先打成 1000 个小文件,下游 Spark 或 ClickHouse 再并行汇总,干脆不写),框架会跳过 Shuffle & Reduce,Map 直接写 HDFS。例:配置文件解析,输出几千行,Reduce 启动开销比计算还大。,业务只关心文件级结果,不要求全局排序。

2025-09-10 17:29:45 603

原创 大数据双雄:分区 & 序列化——从“是什么”到“怎么用”一次讲清

分区决定"切多匀",序列化决定"装多紧切得匀、装得紧,大数据才能跑得稳。

2025-09-10 09:09:46 895

原创 工厂模式别再死记硬背了!一个“小作坊”升级史带你彻底搞懂

网上 90% 的工厂模式教程,上来就 Pizza、Car、Animal,跑是能跑,看完依旧不会落地。今天我用自己亲手撸过的**「订单导出」**模块当主线,带你从 0 到 1 走完一个“小作坊→大工厂→工业园”的升级史。看完保准你能原封不动搬到项目里。小目标:不仅导出格式多,还要支持不同渠道(订单、物流、售后),每个渠道都要 Excel + CSV。│ 抽象工厂 ││ ││ ││ │ │ │好处:一次性解决“系列对象”的创建,比如订单 Excel + 订单 CSV 必须配套。

2025-09-04 09:07:22 413

原创 接口&多态

接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法(功能),包含抽象方法 (JDK7及以前) , 默认方法和静态方法(JDK8)私有方法(JDK9)。接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。Java中的接口更多的体现在对行为的抽象!接口用关键字interface修饰public interface 接口名 {}​@Override​@Override​@Override。

2025-09-02 10:15:00 813

原创 内部类&权限

将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。// 直接访问外部类成员System.out.println("心脏在跳动");}else {System.out.println("心脏不跳了");​​​将一个类定义在一个方法中,该类就称之为是局部内部类学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是不合适的。

2025-09-02 08:50:31 924

原创 别再傻傻分不清了!软链接 vs 硬链接:一次给你讲透

软链接:轻量级指针,适合“给人看”的入口。硬链接:底层共享数据,适合“给程序省空间”的场景。软链接:快捷方式,可跨区,可指目录,源亡链断硬链接:马甲文件,同 inode,不跨区,不指目录,源亡仍在。

2025-09-01 17:38:40 800

原创 关于JAVA中的继承&抽象

多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无 需再定义这些属性和行为,只要继承那一个类即可。其中,多个类可以称为子类,单独那一个类称为父类超类(superclass)或者基类。继承描述的是事物之间的所属关系,这种关系是: is-a 的关系。例如,图中兔子属于食草动物,食草动物属于动物。可见,父类更通用,子类更具体。我们通过继承,可以使多种事物之间形成一种关系体系。

2025-09-01 15:33:21 1242 1

空空如也

空空如也

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

TA关注的人

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