<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Chad_it的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Chad_it</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Chad_it]]></copyright><item><title><![CDATA[dolphinscheduler安装过程]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/153411036</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/153411036</guid><author>Chad_it</author><pubDate>Thu, 16 Oct 2025 17:00:30 +0800</pubDate><description><![CDATA[本文详细介绍了DolphinScheduler 2.0.5的安装流程。首先需要准备JDK1.8+、PostgreSQL/MySQL数据库和ZooKeeper等环境。关键步骤包括：创建部署用户并配置SSH免密登录；修改install_config.conf文件中的机器IP、安装路径、数据库连接等参数；初始化数据库并执行create-dolphinscheduler.sh脚本；最后通过install.sh完成安装。安装成功后可通过http://localhost:12345/dolphinscheduler访问]]></description><category></category></item><item><title><![CDATA[Dolphinscheduler无root权限安装启动，元数据库明文密码问题解决]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/153393405</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/153393405</guid><author>Chad_it</author><pubDate>Thu, 16 Oct 2025 10:10:35 +0800</pubDate><description><![CDATA[Dolphinscheduler,海豚
无root安装，明文密码问题解决]]></description><category></category></item><item><title><![CDATA[Nacos从入门到熟练]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/151247063</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/151247063</guid><author>Chad_it</author><pubDate>Sat, 06 Sep 2025 16:32:42 +0800</pubDate><description><![CDATA[Nacos是阿里巴巴开源的动态服务发现与配置管理平台，支持服务注册、服务发现和配置管理。本文介绍了Nacos的安装步骤，包括下载启动包、以单机模式运行，并展示了Nacos控制台界面。在微服务架构中，通过引入Spring Cloud Alibaba相关依赖，实现服务的注册与发现，并详细说明了服务间调用的实现方式，包括直接调用和负载均衡两种方法。文章还提供了微服务API的编写示例，展示如何通过RestTemplate实现服务间通信。]]></description><category></category></item><item><title><![CDATA[ElasticSearch新角色的创建及新用户的创建]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/151216523</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/151216523</guid><author>Chad_it</author><pubDate>Fri, 05 Sep 2025 11:08:33 +0800</pubDate><description><![CDATA[摘要： 本文介绍了Elasticsearch中创建新角色和用户的方法，以满足安全合规要求。步骤包括：1）创建角色并配置索引、集群权限（如index_manager角色）；2）创建用户并绑定角色，遵循最小权限原则。补充了角色/用户删除操作及注意事项，强调删除前需检查绑定关系。通过GET /_security/role和GET /_security/userAPI可查询权限分配详情，支持命令行或Kibana界面操作。核心要点：权限精细化控制、定期审计角色绑定、避免使用超管账户。]]></description><category></category></item><item><title><![CDATA[Pandas的数据结构]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/150956859</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/150956859</guid><author>Chad_it</author><pubDate>Thu, 28 Aug 2025 17:51:58 +0800</pubDate><description><![CDATA[本文介绍了Pandas中的两个核心数据结构：Series和DataFrame。Series是一维数组对象，包含值和索引，可通过numpy数组、列表或字典创建；DataFrame是二维表格，由多个Series组成，可通过字典或列表创建。文章详细讲解了两种对象的常用API，包括数据统计、类型转换等操作，并比较了它们在数据分析和处理中的不同应用场景。通过示例代码展示了如何创建和操作这两种数据结构，为后续数据分析工作奠定基础。]]></description><category></category></item><item><title><![CDATA[Pandas快速体验,体验python数据分析的便利]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/150953316</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/150953316</guid><author>Chad_it</author><pubDate>Thu, 28 Aug 2025 16:39:21 +0800</pubDate><description><![CDATA[本文通过一个案例演示如何使用Pandas进行GDP数据分析。首先加载全球GDP数据，筛选中国、日本和美国的数据并设置年份为索引。利用Matplotlib绘制三国GDP变化曲线，通过修改列名使图例显示国家名称，并解决中文显示问题。最终实现三国GDP数据的可视化对比，清晰展示经济增长趋势差异。案例展示了Pandas数据处理和Matplotlib可视化分析的基本流程。]]></description><category></category></item><item><title><![CDATA[HIVE的Window functions窗口函数【二】]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/150923985</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/150923985</guid><author>Chad_it</author><pubDate>Wed, 27 Aug 2025 14:29:35 +0800</pubDate><description><![CDATA[本文介绍了Hive窗口函数中的窗口表达式、窗口排序函数和窗口分析函数。窗口表达式通过rows between语法控制聚合范围，支持向前/向后指定行数。窗口排序函数包括row_number、rank、dense_rank和ntile，用于分组排序和TopN场景。窗口分析函数如lag、lead、first_value和last_value，可获取窗口内指定行的值。这些函数增强了Hive的数据分析能力，适用于复杂的分组计算场景。]]></description><category></category></item><item><title><![CDATA[HIVE的Window functions窗口函数【一】]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/150919804</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/150919804</guid><author>Chad_it</author><pubDate>Wed, 27 Aug 2025 11:40:31 +0800</pubDate><description><![CDATA[摘要：本文介绍了SQL窗口函数的概念与应用，通过实例对比普通聚合函数与窗口函数的区别。窗口函数支持在保留原始行的同时进行聚合计算，使用OVER子句实现分组、排序和范围控制。文章详细讲解了窗口函数的语法结构，包括PARTITION BY、ORDER BY和窗口帧表达式，并提供了网站用户页面浏览分析的实战案例，演示了sum()函数在整表聚合、分组聚合及累积聚合中的不同用法。通过Hive SQL代码示例，展示了如何计算总PV、用户总PV和用户累积PV，帮助读者理解窗口函数在数据分析中的实际应用场景。]]></description><category></category></item><item><title><![CDATA[Hive高阶函数之行转列&JSON数据解析]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/150854261</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/150854261</guid><author>Chad_it</author><pubDate>Tue, 26 Aug 2025 15:17:23 +0800</pubDate><description><![CDATA[本文介绍了Hive中两种常见的数据处理场景：行转列和JSON解析。在行转列部分，展示了如何使用concat_ws和collect_set函数将多行数据合并为一列，实现部门ID分组后员工姓名拼接的效果。JSON解析部分提供了三种解决方案：get_json_object函数、json_tuple函数以及建表时使用JsonSerDe自动解析，并比较了它们的优缺点。文章通过具体示例演示了从数据准备到SQL实现的全过程，帮助读者掌握Hive中这些常用数据处理技巧。]]></description><category></category></item><item><title><![CDATA[HIVE的高频面试UDTF函数]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/150847650</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/150847650</guid><author>Chad_it</author><pubDate>Tue, 26 Aug 2025 10:58:22 +0800</pubDate><description><![CDATA[UDTF(表生成函数)是一类&quot;一进多出&quot;的函数，典型代表是explode函数，它能将数组或map类型数据展开为多行数据。通过案例演示如何将部门员工列表展开：首先创建包含数组类型的表并导入数据，使用explode函数时发现UDTF限制（不能与其他列同时查询），通过lateral view侧视图解决该问题。最终实现了将&quot;部门ID|员工列表&quot;转换为&quot;部门ID-单个员工&quot;的多行数据。对于字符串类型数据，可结合split函数处理。]]></description><category></category></item><item><title><![CDATA[HIVE创建UDF函数全流程]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/150770072</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/150770072</guid><author>Chad_it</author><pubDate>Mon, 25 Aug 2025 15:19:56 +0800</pubDate><description><![CDATA[本文介绍了Hive UDF函数的开发与使用全过程，以姓名脱敏需求为例。主要内容包括：1）Maven工程配置，导入Hive3.1.2相关依赖；2）Java代码实现，继承GenericUDF类重写三个核心方法，处理不同长度姓名的脱敏规则；3）打包部署，将jar包上传至HDFS；4）Hive中注册函数并验证效果，实现单字报错、两字保留首字加*、多字保留首尾的功能。通过完整案例演示了自定义Hive函数的开发流程，为类似数据处理需求提供了参考方案。]]></description><category></category></item><item><title><![CDATA[经典回顾：Hive执行原理、MapReduce执行流程、Spark执行流程]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/150417246</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/150417246</guid><author>Chad_it</author><pubDate>Fri, 15 Aug 2025 10:59:43 +0800</pubDate><description><![CDATA[本文概述了Hive、MapReduce和Spark三种大数据处理框架的执行流程。Hive的执行包括SQL解析为AST、生成逻辑计划、优化、物理计划生成及提交Hadoop任务；MapReduce流程涉及资源管理器分配任务、节点管理器启动任务容器、执行Map/Reduce任务及结果返回；Spark流程则包含资源分配、Executor启动、任务分发执行及结果写入HDFS。三者的核心差异在于处理模型：Hive基于SQL转换，MapReduce采用两阶段批处理，而Spark通过内存计算实现高效迭代。]]></description><category></category></item><item><title><![CDATA[png转jpg，直接改后缀？]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/131200862</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/131200862</guid><author>Chad_it</author><pubDate>Wed, 14 Jun 2023 09:43:29 +0800</pubDate><description><![CDATA[将PNG文件扩展名改为JPEG的扩展名（.jpg或.jpeg）不会更改图像的格式。它只是更改了文件扩展名，这可能导致一些图像查看器和编辑器无法正确识别和处理该文件。PNG和JPEG是两种不同的图像文件格式，它们有着不同的压缩算法和特点。PNG是一种无损压缩的图像格式，可以保留图像的所有细节和信息，并且通常用于处理需要高质量图像的情况，例如网站设计、图形设计、图像处理等。而JPEG则是一种有损压缩的图像格式，可以在文件大小与图像质量之间做出折衷。通常用于数字照片、网络图片等需要快速加载和小文件大小的场景。]]></description><category></category></item><item><title><![CDATA[Docker常用命令]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/129918303</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/129918303</guid><author>Chad_it</author><pubDate>Sun, 02 Apr 2023 23:01:08 +0800</pubDate><description><![CDATA[docker的常用命令]]></description><category></category></item><item><title><![CDATA[执行yum软件包索引步骤报错]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/129883781</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/129883781</guid><author>Chad_it</author><pubDate>Fri, 31 Mar 2023 16:46:18 +0800</pubDate><description><![CDATA[综合来看，这条命令序列的作用是清除系统中所有软件源的缓存和元数据信息，并从软件源中下载最新的软件包信息并更新系统中已安装的软件包，最后重新生成本地的软件源缓存和元数据信息，从而保证系统中的软件包一直处于最新的状态，提高系统的安全性和稳定性。通过将这个配置文件下载到本地系统的/etc/yum.repos.d/目录下，可以让yum软件包管理器使用阿里云的软件源来下载和安装软件包，从而避免了从官方网站下载软件包速度慢、不稳定的问题，同时也能够提高软件安装的成功率和稳定性。执行rm -rf删除所有。]]></description><category></category></item><item><title><![CDATA[Docker入门]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/129879228</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/129879228</guid><author>Chad_it</author><pubDate>Fri, 31 Mar 2023 15:42:14 +0800</pubDate><description><![CDATA[2013年3月，dotCloud公司的创始人之一，Docker之父，28岁的Solomon Hykes正式决定，将 Docker项目开源。Linux 容器技术的出现就解决了这样一个问题，而 Docker 就是在它的基础上发展过来的。发、部署、运行等生命周期的管理，使用户的APP（可以是一个WEB应用或数据库应用等等）及其运行 环境能够做到“一次封装，到处运行”。关心很多东西，这也是很多互联网公司都不得不面对的问题，特别是各种版本的迭代之后，不同版本环 境的兼容，对运维人员是极大的考验！软件可以带环境安装？]]></description><category></category></item><item><title><![CDATA[设计模式系列文章-2.设计原则及单例模式]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/129194290</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/129194290</guid><author>Chad_it</author><pubDate>Fri, 24 Feb 2023 09:58:11 +0800</pubDate><description><![CDATA[所以，普通的长方形是适合这段代码的，正方形不适合。双重检查锁模式是一种非常好的单例实现模式，解决了单例、性能、线程安全问题，上面的双重检测锁模式看上去完美无缺，其实是存在问题，在多线程的情况下，可能会出现空指针问题，出现问题的原因是JVM在实例化对象的时候会进行优化和指令重排序操作。枚举类实现单例模式是极力推荐的单例实现模式，因为枚举类型是线程安全的，并且只会装载一次，设计者充分的利用了枚举的这个特性来实现单例模式，枚举的写法非常简单，而且枚举类型是所用单例实现中唯一一种不会被破坏的单例实现模式。]]></description><category></category></item><item><title><![CDATA[设计模式系列文章-1.设计模式的概述及UML图]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/129175072</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/129175072</guid><author>Chad_it</author><pubDate>Thu, 23 Feb 2023 09:46:20 +0800</pubDate><description><![CDATA["设计模式"最初并不是出现在软件设计中，而是被用于建筑领域的设计中。1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大（Christopher Alexander）在他的著作《建筑模式语言：城镇、建筑、构造》中描述了一些常见的建筑设计问题，并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。1990年软件工程界开始研讨设计模式的话题，后来召开了多次关于设计模式的研讨会。]]></description><category></category></item><item><title><![CDATA[Kafka的消费者]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/129135547</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/129135547</guid><author>Chad_it</author><pubDate>Tue, 21 Feb 2023 09:15:37 +0800</pubDate><description><![CDATA[自动提交会丢消息： 因为如果消费者还没消费完poll下来的消息就自动提交了偏移量，那么此 时消费者挂了，于是下一个消费者会从已提交的offset的下一个位置开始消费消息。可以根据消费速度的快慢来设置，因为如果两次poll的时间如果超出了30s的时间间隔，kafka会认为其消费能力过弱，将其踢出消费组。kafka如果超过 10 秒没有收到消费者的心跳，则会把消费者踢出消费组，进行rebalance，把分区分配给其他消费者。消费者建立了与broker之间的⻓连接，开始poll消息。设置自动提交参数 - 默认。]]></description><category></category></item><item><title><![CDATA[Kafka集群及副本的概念]]></title><link>https://blog.youkuaiyun.com/Chad_it/article/details/128775064</link><guid>https://blog.youkuaiyun.com/Chad_it/article/details/128775064</guid><author>Chad_it</author><pubDate>Sat, 28 Jan 2023 10:04:47 +0800</pubDate><description><![CDATA[Kafka只在partition的范围内保证消息消费的局部顺序性，不能在同一个topic中的多个partition中保证总的消费顺序性。可以提供callback，让broker异步的调用callback，告知生产者，消息发送的结果。在集群中，不同的副本会被部署在不同的broker上。消费组中消费者的数量不能比一个topic中的partition数量多，否则多出来的消费者消费不到消息。isr： 可以同步的broker节点和已同步的broker节点，存放在isr集合中。每个文件中的这些内容要调整。]]></description><category></category></item></channel></rss>