<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[resemble的博客]]></title><description><![CDATA[欢迎转载，转载请注明出处]]></description><link>https://blog.csdn.net/qq_27657429</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_27657429]]></copyright><item><title><![CDATA[面试题库总结]]></title><link>https://blog.csdn.net/qq_27657429/article/details/119893585</link><guid>https://blog.csdn.net/qq_27657429/article/details/119893585</guid><author>qq_27657429</author><pubDate>Tue, 24 Aug 2021 16:49:50 +0800</pubDate><description><![CDATA[java相关

JAVA的三大特性
JVM内存模型
JVM内存结构
堆里面可以分代，还可以使用什么区分（G1中分region）
可以手动GC吗
new一个会放在哪个区
搜索树和红黑树对比
map接口下的类
JAVA里锁的区别
hashmap 扩容过程

数据库

mysql的基本组成单元
mysql的存储引擎：
innodb的特点跟isam的区别：
事务的四个特性：ACID
ACID详细解释一下：
隔离级别：
可串行化如何实现：
脏读：
聚簇索引：
B+树的数据结构：
B+树索引和hash索引的区别：
最左]]></description><category></category></item><item><title><![CDATA[Spark storage 模块]]></title><link>https://blog.csdn.net/qq_27657429/article/details/113852442</link><guid>https://blog.csdn.net/qq_27657429/article/details/113852442</guid><author>qq_27657429</author><pubDate>Thu, 18 Feb 2021 20:55:01 +0800</pubDate><description><![CDATA[问题探讨：Stage3 包含哪些 rdd？

Stage3 含有 RDD_B 和 RDD_G。

RDD_A 和 RDD_B 、RDD_F 和 RDD_G 之间是宽依赖（分区是一对多），其他都是窄依赖。



下图截自 《Spark大数据商业实战三部曲_内核解密_商业案例_性能调优》的349/1147。





数据运行：上游 stage 和下游 stage 间串行，stage 内数据 pipeline，不需要父RDD把Partition中所有的Records计算完毕才整体往后流动数据进行计算。

...]]></description><category></category></item><item><title><![CDATA[flink onTimer延迟数据处理]]></title><link>https://blog.csdn.net/qq_27657429/article/details/109569645</link><guid>https://blog.csdn.net/qq_27657429/article/details/109569645</guid><author>qq_27657429</author><pubDate>Mon, 09 Nov 2020 09:55:55 +0800</pubDate><description><![CDATA[目录



场景：

onTimer 使用关键流程

数据处理流程

代码交互流程

onTimer 延迟数据处理的优劣

优点：

缺点：

onTimer 编码实践

业务场景描述

代码

场景：

某些特殊业务场景需要延迟数据处理，比如乱序数据。

某些业务场景只需要保留最新数据，中间更新过程忽略不计，比如客服问卷最新状态。

某些业务场景需要结合最近一段时间的数据进行处理，比如客服侧由于系统短时间单条数据更新多个字段，系统侧更新字段顺序错误，导致中间记录的 binlog 数据可能有误，需要结合一.]]></description><category></category></item><item><title><![CDATA[Spark RDD详解]]></title><link>https://blog.csdn.net/qq_27657429/article/details/109003118</link><guid>https://blog.csdn.net/qq_27657429/article/details/109003118</guid><author>qq_27657429</author><pubDate>Sat, 10 Oct 2020 20:08:47 +0800</pubDate><description><![CDATA[1.Spark 介绍：
spark出现的主要原因

多个 MapReduce 任务之间没有基于内存的数据共享方式, 只能通过磁盘来进行共享。这种方式明显比较低效。
在 Spark 中, 计算不涉及与其他节点进行数据交换，Spark可以在内存中一次性完成这些操作，也就是中间结果无须落盘，减少了磁盘IO的操作。
1.1 Spark核心组件

spark的核心是Spark Core，其中上面的Spark Sql对接的是Hive等结构化查询，Spark Streaming是对接的流式计算，后面的那两个也是主要用在科]]></description><category></category></item><item><title><![CDATA[Hbase学习笔记]]></title><link>https://blog.csdn.net/qq_27657429/article/details/106699586</link><guid>https://blog.csdn.net/qq_27657429/article/details/106699586</guid><author>qq_27657429</author><pubDate>Thu, 11 Jun 2020 23:50:58 +0800</pubDate><description><![CDATA[Hbase适合需对数据进行随机读操作或者随机写操作、大数据上高并发操作，比如每秒对PB级数据进行上千次操作以及读写访问均是非常简单的操作。
每个Regin是一个切片，多个Regin归一个ReginServer管
经常一起用的列放到一个family里面
KV如何组织很灵活
HFile写HDFS，容量是Hadoop的集群决定
构建在HDFS之上的、分布式的、面向列的开源数据库。只有普通的增删改查等操作，没有表之间的关联查询。


高效
1.1 将随机读写转化为顺序读写，适应高并发写入。
1.2 均衡效果好读写性]]></description><category></category></item><item><title><![CDATA[学习笔记-spark]]></title><link>https://blog.csdn.net/qq_27657429/article/details/106310902</link><guid>https://blog.csdn.net/qq_27657429/article/details/106310902</guid><author>qq_27657429</author><pubDate>Sun, 24 May 2020 10:05:50 +0800</pubDate><description><![CDATA[概念
job：在里面可以看到当前应用分析出来的所有任务，以及所有的excutors中action的执行时间。
stage：在里面可以看到应用的所有stage，stage是按照宽依赖来区分的，因此粒度上要比job更细一些。从作业调度角度展示调度的阶段和任务的完成装填
storage：我们所做的cache persist等操作，都会在这里看到，可以看出来应用目前使用了多少缓存。从存储角度展示RDD的存储状态
environment：里面展示了当前spark所依赖的环境，比如jdk,lib等等。spark以及系统]]></description><category></category></item><item><title><![CDATA[学习笔记-zookeeper]]></title><link>https://blog.csdn.net/qq_27657429/article/details/106297594</link><guid>https://blog.csdn.net/qq_27657429/article/details/106297594</guid><author>qq_27657429</author><pubDate>Sat, 23 May 2020 11:25:03 +0800</pubDate><description><![CDATA[Zookeeper是一个分布式协调服务。
https://km.sankuai.com/page/28437097
去中心化：我们都是相等的
中心化：Zookeeper 都是中心化的，围绕 leader
Zookeeper 如何解决分布式一致性问题
ZAB协议，底层两阶段提交协议
选举算法：
Paxos 算法应该可以说是 &nbsp;ZooKeeper 的灵魂了。但是，ZooKeeper 并没有完全采用 Paxos算法 ，而是使用 ZAB 协议作为其保证数据一致性的核心算法。另外，在ZooKeeper的官方]]></description><category></category></item><item><title><![CDATA[Flink ProcessFunction onTimer 延迟处理数据]]></title><link>https://blog.csdn.net/qq_27657429/article/details/105350909</link><guid>https://blog.csdn.net/qq_27657429/article/details/105350909</guid><author>qq_27657429</author><pubDate>Mon, 06 Apr 2020 20:48:22 +0800</pubDate><description><![CDATA[ProcessFunction和CoProcessFunction

说明

DataStream与KeyedStreamd都有Process方法,
DataStream接收的是ProcessFunction，而KeyedStream接收的是KeyedProcessFunction(原本也支持ProcessFunction，现在已被废弃)

0.AbstractRichFunction介绍

1....]]></description><category></category></item><item><title><![CDATA[java反射代码留存（invokeSetMethod、invokeGetMethod）]]></title><link>https://blog.csdn.net/qq_27657429/article/details/104497062</link><guid>https://blog.csdn.net/qq_27657429/article/details/104497062</guid><author>qq_27657429</author><pubDate>Tue, 25 Feb 2020 14:31:43 +0800</pubDate><description><![CDATA[代码：


public class JavaBeanUtil {

    private static final Logger logger = LoggerFactory.getLogger(JavaBeanUtil.class);

    private static final String SET_METHOD_PREFIX = "set";
    private stat...]]></description><category></category></item><item><title><![CDATA[Java结束线程的三种方法]]></title><link>https://blog.csdn.net/qq_27657429/article/details/104333687</link><guid>https://blog.csdn.net/qq_27657429/article/details/104333687</guid><author>qq_27657429</author><pubDate>Sat, 15 Feb 2020 20:16:41 +0800</pubDate><description><![CDATA[线程属于一次性消耗品，在执行完run()方法之后线程便会正常结束了，线程结束后便会销毁，不能再次start,只能重新建立新的线程对象，但有时run()方法是永远不会结束的。例如在程序中使用线程进行Socket监听请求，或是其他的需要循环处理的任务。在这种情况下，一般是将这些任务放在一个循环中，如while循环。当需要结束线程时，如何退出线程呢？

有三种方法可以结束线程：


	1.设置退出标志，...]]></description><category></category></item><item><title><![CDATA[InterruptedException详解]]></title><link>https://blog.csdn.net/qq_27657429/article/details/104333596</link><guid>https://blog.csdn.net/qq_27657429/article/details/104333596</guid><author>qq_27657429</author><pubDate>Sat, 15 Feb 2020 20:10:13 +0800</pubDate><description><![CDATA[1.线程为什么会抛出InterruptedException？

假如现在有两个线程1和2；线程1在正常执行，此时线程2调用了线程1的interrupt方法；代码如下：




@RunWith(SpringJUnit4ClassRunner.class)
public class SynchronizedTest {
  @Test
  public void testSynch...]]></description><category></category></item><item><title><![CDATA[kafka各版本新特性介绍（0.8.2-1.0.0版本）--kafka1.0新特性介绍]]></title><link>https://blog.csdn.net/qq_27657429/article/details/103247315</link><guid>https://blog.csdn.net/qq_27657429/article/details/103247315</guid><author>qq_27657429</author><pubDate>Mon, 25 Nov 2019 22:37:35 +0800</pubDate><description><![CDATA[目录

consumer机制

consumer机制

kafka 0.8--kafka 0.9--kafka 0.10 -- kafka 1.0 各版本的新特性

最重要的是，就是consumer的机制。

consumer机制各版本的演化：



kafka-0.8.2 新特性
producer不再区分同步（sync）和异步方式（async），所有的请求以异步方式发送，这样提升了客户端效率。...]]></description><category></category></item><item><title><![CDATA[如果你也想做实时数仓…]]></title><link>https://blog.csdn.net/qq_27657429/article/details/103108934</link><guid>https://blog.csdn.net/qq_27657429/article/details/103108934</guid><author>qq_27657429</author><pubDate>Sun, 17 Nov 2019 15:04:00 +0800</pubDate><description><![CDATA[目录

1. 数据仓库简介

2. 数据仓库的发展

3. 数据仓库建设方法论

4. 数据仓库架构的演变

5. 实时数仓案例

6. 实时数仓与离线数仓的对比

数据仓库也是公司数据发展到一定规模后必然会提供的一种基础服务，数据仓库的建设也是“数据智能”中必不可少的一环。本文将从数据仓库的简介、经历了怎样的发展、如何建设、架构演变、应用案例以及实时数仓与离线数仓的对比六个方面全面分享关于数仓的...]]></description><category></category></item><item><title><![CDATA[什么是拉链表]]></title><link>https://blog.csdn.net/qq_27657429/article/details/103020761</link><guid>https://blog.csdn.net/qq_27657429/article/details/103020761</guid><author>qq_27657429</author><pubDate>Mon, 11 Nov 2019 23:31:40 +0800</pubDate><description><![CDATA[在数据仓库的数据模型设计过程中，经常会遇到这样的需求：


1. 数据量比较大;
2. 表中的部分字段会被update,如用户的地址，产品的描述信息，订单的状态等等;
3. 需要查看某一个时间点或者时间段的历史快照信息，比如，查看某一个订单在历史某一个时间点的状态，
 比如，查看某一个用户在过去某一段时间内，更新过几次等等;
4. 变化的比例和频率不是很大，比如，总共有1000万的会员，每天新...]]></description><category></category></item><item><title><![CDATA[数据仓库建模]]></title><link>https://blog.csdn.net/qq_27657429/article/details/102884540</link><guid>https://blog.csdn.net/qq_27657429/article/details/102884540</guid><author>qq_27657429</author><pubDate>Sun, 03 Nov 2019 17:23:23 +0800</pubDate><description><![CDATA[目录



为什么要数据仓库建模

范式建模

3NF 模型基本组成

范式建模的特点

ER 模型

建模步骤

维度建模

维度表

事实表

建模流程

维度建模的三种模式

Data Vault 模型

基本结构

Data Vault 模型特点

Anchor 模型

总结

为什么要数据仓库建模

数据模型是数据组织和存储方法，它强调从业务、数据存取和使用角度合理存储数据。有了适合业...]]></description><category></category></item><item><title><![CDATA[if-else优化之拥抱规则引擎]]></title><link>https://blog.csdn.net/qq_27657429/article/details/102880829</link><guid>https://blog.csdn.net/qq_27657429/article/details/102880829</guid><author>qq_27657429</author><pubDate>Sun, 03 Nov 2019 11:46:20 +0800</pubDate><description><![CDATA[分享是一种精神，是加深理解最好的方式之一


前言


现代编程日益复杂，面临如下问题
1、为提高效率，管理流程必须自动化，即使现代商业规则异常复杂。
2、市场要求业务规则经常变化，IT系统必须依据业务规则的变化快速、低成本的更新。
3、为了快速、低成本的更新，业务人员应能直接管理IT系统中的规则，不需要程序开发人员参与




插曲

世界上最遥远的距离，是我在if里你在else里


...]]></description><category></category></item><item><title><![CDATA[Java远程调试的原理]]></title><link>https://blog.csdn.net/qq_27657429/article/details/102707310</link><guid>https://blog.csdn.net/qq_27657429/article/details/102707310</guid><author>qq_27657429</author><pubDate>Wed, 23 Oct 2019 17:43:38 +0800</pubDate><description><![CDATA[JDWP（Java Debug Wire Protocol）

两个VM之间通过debug协议进行通信，然后以达到远程调试的目的。两者之间可以通过socket进行通信。

其中，调试的程序常常被称为debugger, 而被调试的程序称为debuggee。



应用场景

当你的开发环境在Window，又在远端linux Server或者移动平台上运行Java应用程序，Java提供了一系列的接...]]></description><category></category></item><item><title><![CDATA[MySQL · 答疑解惑 · MySQL 锁问题最佳实践]]></title><link>https://blog.csdn.net/qq_27657429/article/details/102615082</link><guid>https://blog.csdn.net/qq_27657429/article/details/102615082</guid><author>qq_27657429</author><pubDate>Thu, 17 Oct 2019 21:03:10 +0800</pubDate><description><![CDATA[目录



前言

设计阶段

开发阶段

维护阶段

总结

前言

最近一段时间处理了较多锁的问题，包括锁等待导致业务连接堆积或超时，死锁导致业务失败等，这类问题对业务可能会造成严重的影响，没有处理经验的用户往往无从下手。下面将从整个数据库设计，开发，运维阶段介绍如何避免锁问题的发生，提供一些最佳实践供RDS的用户参考。

设计阶段

在数据库设计阶段，引擎选择和索引设计不当可能导致后期业务...]]></description><category></category></item><item><title><![CDATA[从sql关联数据异常看精度丢失问题]]></title><link>https://blog.csdn.net/qq_27657429/article/details/102418028</link><guid>https://blog.csdn.net/qq_27657429/article/details/102418028</guid><author>qq_27657429</author><pubDate>Tue, 08 Oct 2019 22:56:25 +0800</pubDate><description><![CDATA[目录

背景

代码测试：

测试结果：

结果说明：

原因分析：

float与double的范围和精度

解决方案：

背景

bigint和string做join的时候 会先都隐式转换成double在join，可能会由于精度丢失导致join的结果不符合预期，导致sql不符合预期

代码测试：


 set hive.mapred.mode=nonstrict;
select 
	90000...]]></description><category></category></item><item><title><![CDATA[理解ClassNotFoundException与NoClassDefFoundError的区别]]></title><link>https://blog.csdn.net/qq_27657429/article/details/102366251</link><guid>https://blog.csdn.net/qq_27657429/article/details/102366251</guid><author>qq_27657429</author><pubDate>Tue, 08 Oct 2019 09:49:08 +0800</pubDate><description><![CDATA[上篇文章已经介绍过Java的类加载机制，在类加载的过程中我们最常遇到的异常就是：


ClassNotFoundException
NoClassDefFoundError

但是你知道他们的区别吗？以及什么情况下发生上面的异常？ 如果你还不清楚，那么不着急，我们来仔细分析一下：

先来说说第一个异常提示名字已经非常友好了，就是告诉我们使用类加载器就加载某个类的时候，发现所有的path下面都没有找...]]></description><category></category></item></channel></rss>