<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2301_77948840的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2301_77948840</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2301_77948840]]></copyright><item><title><![CDATA[AB 实验工作流程、核心原理与价值]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/156651294</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/156651294</guid><author>2301_77948840</author><pubDate>Tue, 06 Jan 2026 21:42:02 +0800</pubDate><description><![CDATA[AB 实验（也叫对照实验、分流实验）是互联网产品迭代、业务决策中最科学的 “因果推断工具”—— 通过将用户随机分成两组（或多组），在控制其他变量不变的前提下，对比不同方案的效果，从而判断 “哪个方案更优”。它的核心逻辑是 “用数据说话”，避免主观经验决策的偏差。五、分流依据 —— CID,VID,UID,SID的区别，联系以及应用场景。一、核心区别：维度和生命周期不同。一、AB 实验的核心原理。]]></description><category></category></item><item><title><![CDATA[Hive组成架构和工作原理]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/146002283</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/146002283</guid><author>2301_77948840</author><pubDate>Mon, 03 Mar 2025 23:35:28 +0800</pubDate><description><![CDATA[Apache Hive 是一个基于 Hadoop 的数据仓库工具，主要用于处理和分析大规模结构化数据。它将 SQL 查询转换为 MapReduce 任务，使得用户可以通过熟悉的 SQL 语法来操作 Hadoop 分布式文件系统（HDFS）中的数据。]]></description><category></category></item><item><title><![CDATA[Hadoop--NameSpace（名称空间）]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145802066</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145802066</guid><author>2301_77948840</author><pubDate>Sat, 22 Feb 2025 22:31:33 +0800</pubDate><description><![CDATA[HDFS 的名称空间是一个逻辑上的文件系统目录树，用于组织文件和目录，并维护元数据信息。名称空间的元数据存储在 NameNode 的内存中，并持久化到磁盘的 fsimage 和 edits 日志 文件中。]]></description><category></category></item><item><title><![CDATA[Hadoop--Secondary NameNode工作机制，作用及与NameNode HA的区别]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145800907</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145800907</guid><author>2301_77948840</author><pubDate>Sat, 22 Feb 2025 21:23:10 +0800</pubDate><description><![CDATA[  Secondary NameNode 主要用于辅助 NameNode 进行元数据的管理和检查点（Checkpoint）的生成。]]></description><category></category></item><item><title><![CDATA[Doris--分桶，压缩，副本，TTL，建表模式，压缩策略]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145799033</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145799033</guid><author>2301_77948840</author><pubDate>Sat, 22 Feb 2025 19:31:50 +0800</pubDate><description><![CDATA[Apache Doris是一个基于MPP架构（Massively Parallel Processing，大规模并行处理）的高性能、实时的分析型数据库，以极速易用的特点被人们所熟知，仅需亚秒级响应时间即可返回海量数据下的查询结果，不仅可以支持高并发的点查询场景，也能支持高吞吐的复杂分析场景。基于此，Apache Doris 在多维报表、即席查询、用户画像、实时大屏、日志分析、数据湖查询加速等诸多业务领域都能得到很好应用。]]></description><category></category></item><item><title><![CDATA[clickhouse--本地表和分布式表，副本机制，分片集群]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145784454</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145784454</guid><author>2301_77948840</author><pubDate>Fri, 21 Feb 2025 19:32:31 +0800</pubDate><description><![CDATA[副本虽然能够提高数据的可用性，降低丢失风险，但是每台服务器实际上必须容纳全量数据，对数据的横向扩容没有解决。要解决数据水平切分的问题，需要引入分片的概念。通过分片把一份完整的数据进行切分，不同的分片分布到不同的节点上，再通过 Distributed 表引擎把数据拼接起来一同使用。Distributed 表引擎本身不存储数据，有点类似于 MyCat 之于 MySql，成为一种中间件，通过分布式逻辑表来写入、分发、路由来操作多台节点不同分片的分布式数据。]]></description><category></category></item><item><title><![CDATA[clickhouse--表引擎的使用]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145783570</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145783570</guid><author>2301_77948840</author><pubDate>Fri, 21 Feb 2025 18:16:07 +0800</pubDate><description><![CDATA[  表引擎是 ClickHouse 的一大特色。可以说，表引擎决定了如何存储表的数据。包括：特别注意：引擎的名称大小写敏感, 驼峰命名  以列文件的形式保存在磁盘上，不支持索引，没有并发控制。一般保存少量数据的小表，生产环境上作用有限。可以用于平时练习测试用。如：
②Memory
  内存引擎，数据以未压缩的原始形式直接保存在内存当中，服务器重启数据就会消失。读写操作不会相互阻塞，不支持索引。简单查询下有非常非常高的性能表现（超过 10G/s）。
  一般用到它的地方不多，除了用来测试，就是在需要非常高的性]]></description><category></category></item><item><title><![CDATA[flink UDF使用]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145760925</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145760925</guid><author>2301_77948840</author><pubDate>Thu, 20 Feb 2025 19:31:41 +0800</pubDate><description><![CDATA[Flink UDF（User-Defined Function）是用户自定义函数，用于扩展 Flink SQL 或 Table API 的内置函数功能。]]></description><category></category></item><item><title><![CDATA[设计模式理解与总结]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145759695</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145759695</guid><author>2301_77948840</author><pubDate>Thu, 20 Feb 2025 18:57:07 +0800</pubDate><description><![CDATA[设计模式是一种在软件开发中常见的解决方案，用于解决特定类型的问题。它们是经过实践验证的最佳实践，提供了一些设计方案，以提高代码的可重用性、可维护性和可扩展性。]]></description><category></category></item><item><title><![CDATA[JVM--内存泄漏]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145565696</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145565696</guid><author>2301_77948840</author><pubDate>Tue, 11 Feb 2025 16:00:58 +0800</pubDate><description><![CDATA[内存泄露：指程序中动态分配内存给一些临时对象，但对象不会被GC回收，它始终占用内存，被分配的对象可达但已无用。即无用对象持续占有内存或无用对象的内存得不到及时释放，从而造成的内存空间浪费。]]></description><category></category></item><item><title><![CDATA[Spark性能调优方法总结]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145558103</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145558103</guid><author>2301_77948840</author><pubDate>Tue, 11 Feb 2025 01:09:47 +0800</pubDate><description><![CDATA[  Spark的分配资源主要就是 executor、cpu per executor、memory per executor、driver memory 等的调节，我们在生产环境中，提交spark作业时，用的spark-submit shell脚本，里面调整对应的参数：
/usr/local/spark/bin/spark-submit 
–conf spark.default.parallelism=12 
–num-executors 3 
–executor-cores 2 
–executor-me]]></description><category></category></item><item><title><![CDATA[构建Spark应用程序入口的几种常见方式]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145555288</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145555288</guid><author>2301_77948840</author><pubDate>Mon, 10 Feb 2025 20:58:20 +0800</pubDate><description><![CDATA[推荐优先使用 SparkSession（Spark 2.x+），它整合了所有功能。]]></description><category></category></item><item><title><![CDATA[Spark--FIFO，Fair调度器]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145540584</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145540584</guid><author>2301_77948840</author><pubDate>Mon, 10 Feb 2025 16:28:10 +0800</pubDate><description><![CDATA[Spark 中的调度模式主要有两种：FIFO 和 FAIR。使用哪种调度器由参数 spark.scheduler.mode 来设置，可选的参数有 FAIR 和 FIFO，默认是FIFO。在 Scheduler 模块中，当 stage 划分好，然后提交 Task 的过程中，会进入 TaskSchedulerlmpl 的submitTasks 方法。]]></description><category></category></item><item><title><![CDATA[Hadoop--FIFO、Capacity、Fair资源调度器]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145539750</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145539750</guid><author>2301_77948840</author><pubDate>Mon, 10 Feb 2025 01:07:11 +0800</pubDate><description><![CDATA[目前，Hadoop作业调度器主要有三种：FIFO、Capacity Scheduler、Fair Scheduler。Hadoop3.1.3默认的资源调度器是Capacity Scheduler。]]></description><category></category></item><item><title><![CDATA[Spark通信框架rpc源码篇]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145536261</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145536261</guid><author>2301_77948840</author><pubDate>Sun, 09 Feb 2025 20:35:18 +0800</pubDate><description><![CDATA[接下来，我们看一个具体的案例：在standalone模式中，worker会定时发心跳消息（SendHeartbeat）给master，那心跳消息是怎么从worker发送到master的呢，master又是怎么接收消息的?]]></description><category></category></item><item><title><![CDATA[spark通信框架rpc原理篇]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145516286</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145516286</guid><author>2301_77948840</author><pubDate>Sun, 09 Feb 2025 17:44:27 +0800</pubDate><description><![CDATA[(Remote Procedure Call)是的缩写，是一种通信协议，。RPC在分布式系统中非常常用，因为它可以让程序员像调用本地函数一样来调用远程服务。在Apache Spark中，RPC是用于在节点之间进行通信的机制Spark使用Netty作为RPC框架，它可以让节点之间的通信更快、更可靠。在Spark中，RPC主要用于在Executor和Driver之间传输数据和调用方法。例如，当Executor需要将数据传输到Driver时，它会使用RPC机制将数据发送到Driver。]]></description><category></category></item><item><title><![CDATA[spark运行架构]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145513586</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145513586</guid><author>2301_77948840</author><pubDate>Sat, 08 Feb 2025 14:20:56 +0800</pubDate><description><![CDATA[Spark集群Cluster Manager目前支持如下三种模式：Standalone模式、YARN模式和Mesos模式。这里重要介绍前两种。]]></description><category></category></item><item><title><![CDATA[Spark--Shuffle Read流程源码解析]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145492760</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145492760</guid><author>2301_77948840</author><pubDate>Fri, 07 Feb 2025 18:02:14 +0800</pubDate><description><![CDATA[显然，这个方法才是核心所在。所以很显然，我们想知道的shuffle读取数据的具体逻辑就藏在ShuffleBlockFetcherIterator中。]]></description><category></category></item><item><title><![CDATA[Spark--Shuffle Write流程源码解析]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145488473</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145488473</guid><author>2301_77948840</author><pubDate>Fri, 07 Feb 2025 10:31:43 +0800</pubDate><description><![CDATA[7、TaskRunner在调用run方法时，会调用Task的run方法，然后调用子类的runTask方法，Task有两个子类，分别是ShuffleMapTask和ResultTask，ResultTask无需shuffle，对数据进行相应的逻辑处理(func)后返回。6、executor端实例化一个线程池来准备task的计算，创建的threadPool中以多线程并发执行和线程复用的方式来高效执行task，接收到task执行的命令后，会首先把task封装在TaskRunner中，然后交给线程池中的线程处理。]]></description><category></category></item><item><title><![CDATA[Spark--Shuffle机制理解及优化]]></title><link>https://blog.youkuaiyun.com/2301_77948840/article/details/145483636</link><guid>https://blog.youkuaiyun.com/2301_77948840/article/details/145483636</guid><author>2301_77948840</author><pubDate>Fri, 07 Feb 2025 01:14:32 +0800</pubDate><description><![CDATA[DAGScheduler调度时会根据是否需要经过Shuffle过程将]ob划分为多个Stage。Shuffle就这么重要?正是由于Shufie的计算几乎需要消耗所有类型的硬件资源，比如CPU、内存、磁盘与网络，在绝大多数的Spark作业中，Shufie往往是作业执行性能的瓶颈。Shuffle的本质就是数据重组分发的过程。有了上图的形状分类的直观对比，我们现在就可以直接给 Shuffle 下一个正式的定义了。集群范围内跨节点、跨进程的数据分发。]]></description><category></category></item></channel></rss>