<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[icedating的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/icedating</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; icedating]]></copyright><item><title><![CDATA[【从零开始学习Spark | 第一篇】:算子与持久化]]></title><link>https://blog.csdn.net/icedating/article/details/167127329</link><guid>https://blog.csdn.net/icedating/article/details/167127329</guid><author>icedating</author><pubDate>Fri, 23 Oct 2026 15:14:54 +0800</pubDate><description><![CDATA[【代码】【从零开始学习Spark | 第一篇】:算子与持久化。]]></description><category></category></item><item><title><![CDATA[Hive面试总结]]></title><link>https://blog.csdn.net/icedating/article/details/168027327</link><guid>https://blog.csdn.net/icedating/article/details/168027327</guid><author>icedating</author><pubDate>Tue, 20 Oct 2026 20:43:05 +0800</pubDate><description><![CDATA[第一步，写Java类，继承GenericUDF，重写initialize、evaluate、getDisplayString 三个方法，第二步，打成Jar包传到HDFS第三步，注册 CREATE FUNCTION scott.HELLO_UDF AS ‘com.yjxxt.hive.udf.HelloUDF’ USING JAR ‘hdfs:///bd/hive-demo-1.0-SNAPSHOT.jar’，默认注册到default库之后SQL里自定义函数就可以当系统函数直接用。]]></description><category></category></item><item><title><![CDATA[Hadoop-MapReduce&YARN面试总结]]></title><link>https://blog.csdn.net/icedating/article/details/167807517</link><guid>https://blog.csdn.net/icedating/article/details/167807517</guid><author>icedating</author><pubDate>Thu, 15 Oct 2026 16:20:51 +0800</pubDate><description><![CDATA[先看Map端，文件上传HDFS会切成Block，默认128M，然后有一个逻辑切片叫Split，它不改动存储，只是用来控制参与计算的节点数，一个切片就对应一个MapTask，Map任务从自己的切片里读数据，每次读一行，拼成KV，Key是偏移量，Value是一行内容。然后数据不是直接写磁盘，而是先写进内存里的环形缓冲区，默认100M，写到80%就触发溢写，写进去之前会先分区，默认是Key的哈希对Reduce数取模。缓冲区里的数据在溢写之前还会排个序，先按分区排，再按Key排，所以溢写出去的小文件内部是有序的。]]></description><category></category></item><item><title><![CDATA[HDFS面经总结]]></title><link>https://blog.csdn.net/icedating/article/details/167795625</link><guid>https://blog.csdn.net/icedating/article/details/167795625</guid><author>icedating</author><pubDate>Tue, 13 Oct 2026 14:44:54 +0800</pubDate><description><![CDATA[首先创建一个FileSystem对象，调用open方法，通过RPC请求NameNode打开文件。NameNode会检查权限、目录、文件在不在，检查通过就把结果返回。接着客户端拿到一个输入流，向NameNode问第一个块的所有副本在哪。返回的地址列表是按距离排好序的，离客户端近的排前面。客户端就挑最近的那个DataNode去连，然后在流里反复调read，把这个块读完。读完一块，关掉连接，再找下一块的最佳DataNode接着读。最后整个文件读完，调close，把读到的所有块拼成一个完整的文件。]]></description><category></category></item><item><title><![CDATA[ZooKeeper面经总结]]></title><link>https://blog.csdn.net/icedating/article/details/167668129</link><guid>https://blog.csdn.net/icedating/article/details/167668129</guid><author>icedating</author><pubDate>Tue, 13 Oct 2026 10:50:51 +0800</pubDate><description><![CDATA[面经记录]]></description><category></category></item><item><title><![CDATA[《从你点了一份外卖，到老板发现程序员是顶级牛马》一条外卖订单的大数据技术栈奇幻漂流]]></title><link>https://blog.csdn.net/icedating/article/details/166838758</link><guid>https://blog.csdn.net/icedating/article/details/166838758</guid><author>icedating</author><pubDate>Tue, 29 Sep 2026 17:58:45 +0800</pubDate><description><![CDATA[《从你点了一份外卖，到老板发现程序员是顶级牛马》]]></description><category></category></item><item><title><![CDATA[大数据修炼之路（五）：Hive进阶]]></title><link>https://blog.csdn.net/icedating/article/details/165752991</link><guid>https://blog.csdn.net/icedating/article/details/165752991</guid><author>icedating</author><pubDate>Thu, 17 Sep 2026 17:57:58 +0800</pubDate><description><![CDATA[减少 Shuffle”和“避免数据倾斜”。理解了 MapReduce 的底层执行逻辑，就能在面对海量数据时，写出既优雅又高效的 SQL。从表设计到参数调优，每一层优化都在为大数据管道保驾护航。]]></description><category></category></item><item><title><![CDATA[大数据修炼之路（四）：Hive基础]]></title><link>https://blog.csdn.net/icedating/article/details/165719874</link><guid>https://blog.csdn.net/icedating/article/details/165719874</guid><author>icedating</author><pubDate>Thu, 17 Sep 2026 17:21:32 +0800</pubDate><description><![CDATA[普通视图：只保存 SQL 定义，不存储实际数据。每次查询视图时，相当于重新执行一次定义好的 SQL。它能简化复杂查询、提高数据安全性，但不会提升查询速度。物化视图：会保存计算后的实际结果。查询时直接读取预计算的结果，速度极快，但占用存储空间，且需要配置刷新策略（增量或全量刷新）来保证数据一致性。Hive 内置函数虽然丰富，但无法覆盖所有业务逻辑，此时需要自定义函数（UDF）。分类：普通函数，一进一出（如UPPER：聚合函数，多进一出（如SUMCOUNT：表生成函数，一进多出（如EXPLODE。]]></description><category></category></item><item><title><![CDATA[大数据修炼之路（三）：MapReduce & Yarn核心解析]]></title><link>https://blog.csdn.net/icedating/article/details/165626246</link><guid>https://blog.csdn.net/icedating/article/details/165626246</guid><author>icedating</author><pubDate>Thu, 17 Sep 2026 09:55:10 +0800</pubDate><description><![CDATA[MR 的核心思想是“分而治之”，其精髓在于。核心细节minSizemaxSizemap()reduce()reduce()]]></description><category></category></item><item><title><![CDATA[大数据修炼之路（二）：HDFS 核心架构与面试详解]]></title><link>https://blog.csdn.net/icedating/article/details/165458600</link><guid>https://blog.csdn.net/icedating/article/details/165458600</guid><author>icedating</author><pubDate>Tue, 15 Sep 2026 21:02:56 +0800</pubDate><description><![CDATA[HDFS 本质上是一个‘一次写入、多次读取’的分布式文件系统。它的核心架构是主从结构，NameNode 只负责管理元数据，不存真实数据；DataNode 存数据块（默认 128MB），默认 3 副本。它的读写流程最核心的理念是**‘数据流与控制流分离’**。客户端只向 NameNode 要元数据，然后直接与 DataNode 建立 Pipeline 管道传输数据，避免了 NameNode 成为性能瓶颈。]]></description><category></category></item><item><title><![CDATA[MySQL底层探索（一）：什么是脏页？什么是冷热分离？]]></title><link>https://blog.csdn.net/icedating/article/details/165122868</link><guid>https://blog.csdn.net/icedating/article/details/165122868</guid><author>icedating</author><pubDate>Mon, 14 Sep 2026 15:35:25 +0800</pubDate><description><![CDATA[内存（Buffer Pool）里的数据页被修改了，但还没有被写回磁盘，此时内存和磁盘数据不一致，这个内存页就叫。]]></description><category></category></item><item><title><![CDATA[大数据修炼之路（一）: ZooKeeper学习]]></title><link>https://blog.csdn.net/icedating/article/details/165001094</link><guid>https://blog.csdn.net/icedating/article/details/165001094</guid><author>icedating</author><pubDate>Fri, 11 Sep 2026 19:22:59 +0800</pubDate><description><![CDATA[ZooKeeper 学习]]></description><category></category></item><item><title><![CDATA[Linux & Shell 实用干货]]></title><link>https://blog.csdn.net/icedating/article/details/164575076</link><guid>https://blog.csdn.net/icedating/article/details/164575076</guid><author>icedating</author><pubDate>Tue, 08 Sep 2026 15:13:34 +0800</pubDate><description><![CDATA[桥接（Bridged）：虚拟机独立 IP，和宿主机平级，局域网内其他机器可直连。NAT：虚拟机共享宿主机 IP上网，宿主机和虚拟机互通，外网无法直接访问虚拟机（最常用）。Host-Only纯内网，只能与宿主机通信，不能上网（安全性高）。name="zhangsan" # 等号两边不能有空格！echo $name # 输出 zhangsanecho ${name} # 推荐加花括号，便于识别边界echo "My name is ${name}" # 双引号会解析变量。]]></description><category></category></item><item><title><![CDATA[微服务学习最终篇： Elasticsearch]]></title><link>https://blog.csdn.net/icedating/article/details/164472195</link><guid>https://blog.csdn.net/icedating/article/details/164472195</guid><author>icedating</author><pubDate>Mon, 07 Sep 2026 17:23:46 +0800</pubDate><description><![CDATA[Elasticsearch 之所以能在大数据量下实现毫秒级的全文搜索，核心秘密就在于它的底层数据结构——倒排索引（Inverted Index）。在传统关系型数据库（如 MySQL）中，搜索文本字段通常用，需要扫描每一行记录，效率极低。倒排索引的设计思路完全不同——它不存储“哪个文档包含了什么内容”，而是存储“这个关键词出现在了哪些文档中”。正排索引 vs 倒排索引正排索引（Forward Index）：以文档为核心，文档 ID → 文档内容。这是存储原始数据的方式。]]></description><category></category></item><item><title><![CDATA[微服务学习（三）：网关 + 配置管理 + RabbitMQ]]></title><link>https://blog.csdn.net/icedating/article/details/164376035</link><guid>https://blog.csdn.net/icedating/article/details/164376035</guid><author>icedating</author><pubDate>Mon, 07 Sep 2026 11:47:26 +0800</pubDate><description><![CDATA[在微服务架构中，网关（Gateway）负责统一流量入口，配置中心（Config Center）承担动态配置管理，而消息队列（MQ）则解决服务间的异步通信问题。]]></description><category></category></item><item><title><![CDATA[微服务学习（二）：服务拆分 + 治理 + OpenFeign]]></title><link>https://blog.csdn.net/icedating/article/details/164262439</link><guid>https://blog.csdn.net/icedating/article/details/164262439</guid><author>icedating</author><pubDate>Tue, 01 Sep 2026 19:40:12 +0800</pubDate><description><![CDATA[知识点一句话总结服务拆分原则先单体验证可行性，再拆微服务减少风险纵向拆分按功能模块拆出独立服务横向拆分抽取公共能力形成通用服务注册中心服务的"通讯录"，帮你找到想调的服务在哪服务发现 + 心跳自动感知实例变化，不用手动维护列表最基础的远程调用方式，适合入门，代码不太优雅OpenFeign声明式HTTP客户端，用起来像调本地方法连接池Feign生产环境必开，用连接池复用连接提升性能Feign抽取统一用公共模块管理，避免重复造轮子下一步。]]></description><category></category></item><item><title><![CDATA[微服务学习（一）：Docker · 夯到爆的一个工具]]></title><link>https://blog.csdn.net/icedating/article/details/164226309</link><guid>https://blog.csdn.net/icedating/article/details/164226309</guid><author>icedating</author><pubDate>Tue, 01 Sep 2026 08:36:06 +0800</pubDate><description><![CDATA[创建网络# 启动容器时指定网络好处：同一个网络里的容器可以通过容器名互相访问，Docker 自带 DNS 解析。比如在myapp而不是写。]]></description><category></category></item><item><title><![CDATA[黑马点评·核心命门精炼焚诀]]></title><link>https://blog.csdn.net/icedating/article/details/164211162</link><guid>https://blog.csdn.net/icedating/article/details/164211162</guid><author>icedating</author><pubDate>Mon, 31 Aug 2026 12:18:34 +0800</pubDate><description><![CDATA[黑马点评学的是技术，面试时包装的是项目。让面试官觉得你做过、想过、踩过坑，比技术本身更重要。]]></description><category></category></item><item><title><![CDATA[苍穹外卖·核心命门精炼焚诀]]></title><link>https://blog.csdn.net/icedating/article/details/164171408</link><guid>https://blog.csdn.net/icedating/article/details/164171408</guid><author>icedating</author><pubDate>Mon, 31 Aug 2026 12:04:51 +0800</pubDate><description><![CDATA[这 8 个七寸问题，本质是互联网分布式架构的“八荣八耻”。面试官问的不是 JWT 怎么生成，而是你如何在状态爆炸的分布式世界里做取舍；问的不是 B+ 树结构，而是面对海量数据，你如何用数据结构对抗物理极限。把 STAR 讲熟，把 Trade-off 讲透，你就是他们要的那个人。]]></description><category></category></item><item><title><![CDATA[黑马点评(五) : 点赞 + Feed流 + BitMap + Geo + HLL]]></title><link>https://blog.csdn.net/icedating/article/details/164167725</link><guid>https://blog.csdn.net/icedating/article/details/164167725</guid><author>icedating</author><pubDate>Sat, 29 Aug 2026 11:40:31 +0800</pubDate><description><![CDATA[一句话：就是你刷抖音/朋友圈时，无限往下滑，永远有新内容的那种“沉浸式”体验。内容从哪来？→ 你关注的人发的动态。怎么让你看到？→ 三种模式：拉、推、推拉结合。一句话：BitMap 就是一个二进制数组，每个位（bit）只能存 0 或 1。在 Redis 里，它是 String 类型的一种特殊用法，一个 String 最大 512MB，可以存 2^32 个 bit（约 42.9 亿个位）。一句话：Redis 用来存经纬度的数据结构，支持按距离查询、范围查询。一句话：用来统计去重数量。]]></description><category></category></item></channel></rss>