自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hive 文件格式深度解析:性能、原理、压缩、场景选择 + 面试题

本篇文章全面解析 Hive 中常见的数据文件格式,包括 Text、SequenceFile、RCFile、ORC、Parquet、Avro 及 JSON/CSV 的特点、差异、性能与适用场景,并给出每种格式的建表示例。内容还涵盖压缩方式、行式与列式存储比较、企业实践经验以及 20 条高频Hive面试题及详细答案,是一篇适合学习与面试的完整指南。

2025-12-07 00:29:39 810

原创 ETL流程详解:原理、架构、实战、工具、调度、面试题(超详细完整版)

ETL(Extract → Transform → Load)是数据工程、数据仓库构建、数据治理体系中最核心的能力之一。整合多源数据清洗、转换、标准化承担数据仓库分层的数据加工为 BI、报表、分析提供高质量数据构建数据治理体系的基础ETL 是数据工程核心能力抽取、转换、加载构成数据生产主链路数据质量、稳定性、扩展性是关键企业级数据系统离不开 ETL 架构。

2025-12-02 15:23:28 893

原创 一文学会Hive分区表+分桶表+拉链表

本文详细介绍了Hive中的三种表技术:分区表、分桶表和拉链表。分区表通过按字段值分目录存储数据,减少扫描范围;分桶表通过哈希均匀分布数据,优化Join性能;拉链表则用于记录维度历史变化。文章对比了三者的区别,分析了各自的使用场景和优缺点,并提供了面试常见问题的解答。这三种技术在数据仓库开发中各有侧重,合理组合使用可以显著提升查询性能和数据管理能力,是面试和实战中必须掌握的核心知识点。

2025-12-01 23:43:47 702

原创 一文学会Hive窗口函数(详解 + 示例输出 + 面试常见问题)

本文系统介绍了Hive窗口函数的使用方法,包括9种常用窗口函数的语法、功能和应用场景。通过员工工资表的示例数据,详细演示了ROW_NUMBER、RANK、DENSE_RANK等排名函数,SUM OVER、AVG OVER等聚合函数,以及LAG、LEAD等偏移函数的实际应用。文章还包含窗口函数在面试中的高频问题,适合学习、面试和实战参考。

2025-11-29 16:49:10 1268

原创 Hive 内部表与外部表的区别(超详细讲解+面试常见问题)

Hive中的表分为内部表(Managed Table)和外部表(External Table),主要区别在于数据管理方式。内部表由Hive完全管理,数据存储在Hive仓库目录,删除表时会同时删除数据;而外部表仅管理表结构,数据可存放在HDFS任意位置,删除表时不删除数据文件。内部表适合Hive专有数据,外部表适合多系统共享数据场景。两者查询方式相同,但外部表能防止误删数据,更适合生产环境。关键区别还包括创建语法(EXTERNAL关键字)、数据加载行为(是否移动文件)以及数据生命周期管理。

2025-11-29 15:11:19 942

原创 Kafka 自动提交与手动提交的区别

摘要:Kafka消费者offset提交方式分为自动提交和手动提交。自动提交由客户端定期执行(默认5秒),简单高效但可能导致消息丢失或重复消费,适用于日志分析等非关键业务。手动提交由业务代码控制提交时机,可确保处理成功后才提交,适用于订单、支付等强一致性场景,提供同步(可靠)和异步(高性能)两种方式。关键业务推荐使用手动同步提交,非关键业务可选择自动提交以简化开发。

2025-11-28 17:14:04 265

原创 VM虚拟机应该如何正确关闭!!!

2.文件系统损坏:操作系统在运行过程中,对文件系统进行读写操作时会有缓存和临时状态。直接关闭虚拟机,操作系统来不及正常完成文件系统的写入和清理工作,可能会损坏文件系统。1.数据丢失风险:点击 “关闭客户机” 按钮,虚拟机软件会像直接切断物理计算机电源一样关闭虚拟机,而不会等待虚拟机内的操作系统正常关闭。3.应用程序异常:正在运行的应用程序没有正常的关闭流程,其相关进程可能会出现异常。大家请停止错误关闭虚拟机,长期这样关闭的话会导致虚拟机崩盘,到时候得不偿失!下面这种操作是错误的!

2025-09-10 15:57:14 477

原创 保姆级安装Git教学

点击Next下一步,最后点击Install进行安装,安装完毕即可使用了。选择文本编辑器,这里看个人喜好,我选择的是Notepad++该选项是让用户使用何种方式打开 一般是使用命令行打开即。选第一个,检查windows元素。选择第一个,使用安全的连接。选择第一个使用linux的。

2025-04-14 18:58:28 419

原创 手把手教学安装notepad++ 保姆级教学

目录 下载与安装Notepad++Notepad++修改设置

2025-04-14 18:09:42 1089

原创 Xshell 连接虚拟机出现 “The remote SSH server rejected X11 forwarding request‘的原因以及解决问题!

在root用户下 vi /etc/ssh/sshd_config 在X11这行改为X11Forwarding yes。然后再将UseLogin参数为no 这一行可能被注释,去掉注释后保存退出,最后重启sshd服务重新连接即可解决问题。如果还不行检查 xorg-x11-xauth 的rpm包是否安装,未安装则进行下面操作。随后关闭才重新连接,即可解决问题。

2025-03-29 17:27:50 1636

转载 方法重写和方法重载

方法重写方法重载

2023-06-03 14:10:04 97

原创 抽象类和接口的区别和联系

而抽象类在代码实现方面发挥作用,可以实现代码的重用,例如,模板方法设计模式是抽象类的一个典型应用,假设某个项目的所有Servlet类都要用相同的方式进行权限判断、记录访问日志和处理异常,那么就可以定义一个抽象的基类,让所有的Servlet都继承这个抽象基类,在抽象基类的service方法中完成权限判断、记录访问日志和处理异常的代码,在各个子类中只是完成各自的业务逻辑代码。2.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

2023-06-03 13:59:42 131

原创 final关键词

final修饰的方法可以被重载,但不能被重写。2.final修饰方法中的参数,称为最终参数。4.final修饰方法,则方法不能被重写。1.final修饰变量,则等同于常量。3.final修饰类,则类不能被继承。另外:final不能修饰抽象类。

2023-05-31 18:41:56 118 1

原创 值传递(call by value)和引用传递(call by reference)

如:往方法传递类对象,此时形参也会指向实参对象地址,形参内容改变相应实参内容改变。如:往方法传入基本类型的变量,形参任何操作不影响原变量。

2023-05-31 18:06:41 195 1

原创 JDBC访问DB七大步骤

1.加载驱动器 String Driver = "com.mysql.jdbc.driver"4.建立statement或preparedstatement对象。2.加载驱动 Class.forName(driver)3.建立连接 conn =6.获得Result结果集。

2023-05-28 15:07:52 107 1

原创 Linux详细笔记

Linux详细笔记,里面有一些常用的命令及用法以及更多

2023-03-02 16:35:32 180 1

原创 正则表达式(RegExp)

正则表达式

2022-10-30 11:35:40 1598

空空如也

空空如也

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

TA关注的人

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