- 博客(93)
- 资源 (2)
- 收藏
- 关注
原创 面试题库总结
java相关JAVA的三大特性JVM内存模型JVM内存结构堆里面可以分代,还可以使用什么区分(G1中分region)可以手动GC吗new一个会放在哪个区搜索树和红黑树对比map接口下的类JAVA里锁的区别hashmap 扩容过程数据库mysql的基本组成单元mysql的存储引擎:innodb的特点跟isam的区别:事务的四个特性:ACIDACID详细解释一下:隔离级别:可串行化如何实现:脏读:聚簇索引:B+树的数据结构:B+树索引和hash索引的区别:最左
2021-08-24 16:49:50
259
原创 Spark storage 模块
问题探讨: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计算完毕才整体往后流动数据进行计算。...
2021-02-18 20:55:01
1146
2
原创 flink onTimer延迟数据处理
目录场景:onTimer 使用关键流程数据处理流程代码交互流程onTimer 延迟数据处理的优劣优点:缺点:onTimer 编码实践业务场景描述代码场景:某些特殊业务场景需要延迟数据处理,比如乱序数据。某些业务场景只需要保留最新数据,中间更新过程忽略不计,比如客服问卷最新状态。某些业务场景需要结合最近一段时间的数据进行处理,比如客服侧由于系统短时间单条数据更新多个字段,系统侧更新字段顺序错误,导致中间记录的 binlog 数据可能有误,需要结合一.
2020-11-09 09:55:55
3522
原创 Spark RDD详解
1.Spark 介绍:spark出现的主要原因多个 MapReduce 任务之间没有基于内存的数据共享方式, 只能通过磁盘来进行共享。这种方式明显比较低效。在 Spark 中, 计算不涉及与其他节点进行数据交换,Spark可以在内存中一次性完成这些操作,也就是中间结果无须落盘,减少了磁盘IO的操作。1.1 Spark核心组件spark的核心是Spark Core,其中上面的Spark Sql对接的是Hive等结构化查询,Spark Streaming是对接的流式计算,后面的那两个也是主要用在科
2020-10-10 20:08:47
3817
转载 Hbase学习笔记
Hbase适合需对数据进行随机读操作或者随机写操作、大数据上高并发操作,比如每秒对PB级数据进行上千次操作以及读写访问均是非常简单的操作。每个Regin是一个切片,多个Regin归一个ReginServer管经常一起用的列放到一个family里面KV如何组织很灵活HFile写HDFS,容量是Hadoop的集群决定构建在HDFS之上的、分布式的、面向列的开源数据库。只有普通的增删改查等操作,没有表之间的关联查询。高效1.1 将随机读写转化为顺序读写,适应高并发写入。1.2 均衡效果好读写性
2020-06-11 23:50:58
379
转载 学习笔记-spark
概念job:在里面可以看到当前应用分析出来的所有任务,以及所有的excutors中action的执行时间。stage:在里面可以看到应用的所有stage,stage是按照宽依赖来区分的,因此粒度上要比job更细一些。从作业调度角度展示调度的阶段和任务的完成装填storage:我们所做的cache persist等操作,都会在这里看到,可以看出来应用目前使用了多少缓存。从存储角度展示RDD的存储状态environment:里面展示了当前spark所依赖的环境,比如jdk,lib等等。spark以及系统
2020-05-24 10:05:50
484
转载 学习笔记-zookeeper
Zookeeper是一个分布式协调服务。https://km.sankuai.com/page/28437097去中心化:我们都是相等的中心化:Zookeeper 都是中心化的,围绕 leaderZookeeper 如何解决分布式一致性问题ZAB协议,底层两阶段提交协议选举算法:Paxos 算法应该可以说是 ZooKeeper 的灵魂了。但是,ZooKeeper 并没有完全采用 Paxos算法 ,而是使用 ZAB 协议作为其保证数据一致性的核心算法。另外,在ZooKeeper的官方
2020-05-23 11:25:03
496
转载 Flink ProcessFunction onTimer 延迟处理数据
ProcessFunction和CoProcessFunction说明DataStream与KeyedStreamd都有Process方法,DataStream接收的是ProcessFunction,而KeyedStream接收的是KeyedProcessFunction(原本也支持ProcessFunction,现在已被废弃)0.AbstractRichFunction介绍1....
2020-04-06 20:48:22
7730
原创 java反射代码留存(invokeSetMethod、invokeGetMethod)
代码:public class JavaBeanUtil { private static final Logger logger = LoggerFactory.getLogger(JavaBeanUtil.class); private static final String SET_METHOD_PREFIX = "set"; private stat...
2020-02-25 14:31:43
1216
转载 Java结束线程的三种方法
线程属于一次性消耗品,在执行完run()方法之后线程便会正常结束了,线程结束后便会销毁,不能再次start,只能重新建立新的线程对象,但有时run()方法是永远不会结束的。例如在程序中使用线程进行Socket监听请求,或是其他的需要循环处理的任务。在这种情况下,一般是将这些任务放在一个循环中,如while循环。当需要结束线程时,如何退出线程呢?有三种方法可以结束线程: 1.设置退出标志,...
2020-02-15 20:16:41
268
转载 InterruptedException详解
1.线程为什么会抛出InterruptedException?假如现在有两个线程1和2;线程1在正常执行,此时线程2调用了线程1的interrupt方法;代码如下:@RunWith(SpringJUnit4ClassRunner.class)public class SynchronizedTest { @Test public void testSynch...
2020-02-15 20:10:13
21185
转载 kafka各版本新特性介绍(0.8.2-1.0.0版本)--kafka1.0新特性介绍
目录consumer机制consumer机制kafka 0.8--kafka 0.9--kafka 0.10 -- kafka 1.0 各版本的新特性最重要的是,就是consumer的机制。consumer机制各版本的演化:kafka-0.8.2 新特性producer不再区分同步(sync)和异步方式(async),所有的请求以异步方式发送,这样提升了客户端效率。...
2019-11-25 22:37:35
1250
转载 如果你也想做实时数仓…
目录1. 数据仓库简介2. 数据仓库的发展3. 数据仓库建设方法论4. 数据仓库架构的演变5. 实时数仓案例6. 实时数仓与离线数仓的对比数据仓库也是公司数据发展到一定规模后必然会提供的一种基础服务,数据仓库的建设也是“数据智能”中必不可少的一环。本文将从数据仓库的简介、经历了怎样的发展、如何建设、架构演变、应用案例以及实时数仓与离线数仓的对比六个方面全面分享关于数仓的...
2019-11-17 15:04:00
292
转载 什么是拉链表
在数据仓库的数据模型设计过程中,经常会遇到这样的需求:1. 数据量比较大;2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等;3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态, 比如,查看某一个用户在过去某一段时间内,更新过几次等等;4. 变化的比例和频率不是很大,比如,总共有1000万的会员,每天新...
2019-11-11 23:31:40
907
2
转载 数据仓库建模
目录为什么要数据仓库建模范式建模3NF 模型基本组成范式建模的特点ER 模型建模步骤维度建模维度表事实表建模流程维度建模的三种模式Data Vault 模型基本结构Data Vault 模型特点Anchor 模型总结为什么要数据仓库建模数据模型是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。有了适合业...
2019-11-03 17:23:23
561
转载 if-else优化之拥抱规则引擎
分享是一种精神,是加深理解最好的方式之一前言现代编程日益复杂,面临如下问题1、为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。2、市场要求业务规则经常变化,IT系统必须依据业务规则的变化快速、低成本的更新。3、为了快速、低成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开发人员参与插曲世界上最遥远的距离,是我在if里你在else里...
2019-11-03 11:46:20
1030
转载 Java远程调试的原理
JDWP(Java Debug Wire Protocol)两个VM之间通过debug协议进行通信,然后以达到远程调试的目的。两者之间可以通过socket进行通信。其中,调试的程序常常被称为debugger, 而被调试的程序称为debuggee。应用场景当你的开发环境在Window,又在远端linux Server或者移动平台上运行Java应用程序,Java提供了一系列的接...
2019-10-23 17:43:38
649
转载 MySQL · 答疑解惑 · MySQL 锁问题最佳实践
目录前言设计阶段开发阶段维护阶段总结前言最近一段时间处理了较多锁的问题,包括锁等待导致业务连接堆积或超时,死锁导致业务失败等,这类问题对业务可能会造成严重的影响,没有处理经验的用户往往无从下手。下面将从整个数据库设计,开发,运维阶段介绍如何避免锁问题的发生,提供一些最佳实践供RDS的用户参考。设计阶段在数据库设计阶段,引擎选择和索引设计不当可能导致后期业务...
2019-10-17 21:03:10
200
原创 从sql关联数据异常看精度丢失问题
目录背景代码测试:测试结果:结果说明:原因分析:float与double的范围和精度解决方案:背景bigint和string做join的时候 会先都隐式转换成double在join,可能会由于精度丢失导致join的结果不符合预期,导致sql不符合预期代码测试: set hive.mapred.mode=nonstrict;select 90000...
2019-10-08 22:56:25
1022
转载 理解ClassNotFoundException与NoClassDefFoundError的区别
上篇文章已经介绍过Java的类加载机制,在类加载的过程中我们最常遇到的异常就是:ClassNotFoundExceptionNoClassDefFoundError但是你知道他们的区别吗?以及什么情况下发生上面的异常? 如果你还不清楚,那么不着急,我们来仔细分析一下:先来说说第一个异常提示名字已经非常友好了,就是告诉我们使用类加载器就加载某个类的时候,发现所有的path下面都没有找...
2019-10-08 09:49:08
491
转载 MySQL主从数据库同步延迟问题解决
目录1. MySQL数据库主从同步延迟原理。MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器。相信大家对于这些好处已经非常了解了,在项目的部署中也采用这种方案。但是MySQL的主从同步一直有从库延迟的问题,那么...
2019-10-01 17:45:04
1143
转载 Flink 原理与实现:数据流上的类型和操作
Flink 为流处理和批处理分别提供了 DataStream API 和 DataSet API。正是这种高层的抽象和 flunent API 极大地便利了用户编写大数据应用。不过很多初学者在看到官方 Streaming 文档中那一大坨的转换时,常常会蒙了圈,文档中那些只言片语也很难讲清它们之间的关系。所以本文将介绍几种关键的数据流类型,它们之间是如何通过转换关联起来的。下图展示了 Flink 中...
2019-09-18 20:12:25
233
转载 Flink乱序处理之allowedLateness使用
1、简介Flink中借助watermark以及window和trigger来处理基于event time的乱序问题,那么如何处理“late element”呢?也许有人会问,out-of-order element与late element有什么区别?不都是一回事么?答案是一回事,都是为了处理乱序问题而产生的概念。要说区别,可以总结如下:1、通过watermark机制来处理out-of-...
2019-07-09 13:10:29
1193
转载 Flink基于EventTime和WaterMark处理乱序事件和晚到的数据
在实际的业务中,我们经常会遇到数据迟到的情况,这个时候基于窗口进行计算的结果就不对了,Flink中watermark就是为了解决这个问题的,理解watermark之前,先来说一下flink中的三个与流数据相关的概念,ProcessTime、EventTime、IngestionTime,不然很难理解watermark是怎么回事.我们先来看一下官网给出的一张图,非常形象地展示了Process Ti...
2019-07-09 12:59:58
2236
转载 左耳朵耗子 | 程序员如何用技术变现?
导读:从事编程这个事可以做到,完全靠自己的手艺、不依赖任何人或公司去生活的。但道理我都懂,怎么做才是关键。本文摘自陈皓(左耳朵耗子)在极客时间 App 开设的付费专栏“左耳听风”。正文1 写在前面 程序员用自己的技术变现,其实是一件天经地义的事儿。写程序是一门“手艺活儿”,那么作为手艺人,程序员当然可以做到靠自己的手艺和技能养活自己。 然而,现在很多手艺人程序员却说自己...
2019-06-19 21:03:31
373
转载 事务提交都做了哪些事?(Commit Transactions)
提交一个事务意味着将此事务中的SQL语句对数据的修改永久的记录到数据库中。在一个修改了数据的事务被提交之前,Oracle进行了以下操作:a Oracle生成了undoinformation,undo information 包含了事务中各个SQL语句所修改的数据的原始值。b Oracle 在SGA的重做日志缓冲区(redolog buffer) 中生成了重做日志条目(redo lo...
2019-05-10 20:25:29
2358
转载 mysql数据精度丢失问题
不要盲目的说float和double精度可能发生丢失,而是说在存取时因为精度不一致会发生丢失,当然这里的丢失指的是扩展或者截断了,丢失了原有的精度。decimal是好,但不是说不会发生任何精度丢失。如果问题看得不深入,总会以偏概全。 我们知道,mysql存储小数可以使用float、double、decimal等。这些类型存储的小数精度都比较高。我们平时应用最多的就是两位小数点,所以,这些...
2019-05-08 17:30:47
5870
2
转载 数据库锁表
数据库锁先看一张图自己整理的数据库锁的树形图概要数据库锁一般可以分为两类,一个是悲观锁,一个是乐观锁。乐观锁一般是指用户自己实现的一种锁机制,假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。乐观锁的实现方式一般包括使用版本号和时间戳。悲观锁一般就是我们通常说的数据库锁机制,以...
2019-05-04 21:28:50
534
转载 linux服务器的物理CPU,CPU核数,逻辑CPU及Hadoop的Vcore
https://blog.csdn.net/weixin_34320724/article/details/87413609
2019-04-24 09:55:05
675
转载 Elasticsearch:Scroll深度分页及返回大量数据
目录方法一设置size方法二fromand size分页方法三scrollandscan滚屏。在使用ES时,有时候不可避免的要返回大量的数据或者说返回满足你的查询条件的全部数据,而满足你的条件的数据可能只是上百条也可能是上万条。当需要返回的数据量特别大时怎么办呢?方法一设置size在使用aggregations情况下,聚合的结果和直接查询一样默认都会只...
2019-04-12 09:56:50
3245
转载 Storm UI详解
Storm ui 展示字段说明Storm ui 首页主要分为4块: Cluster Summary,Topology summary,Supervisor summary,Nimbus Configuration,如下图所示:Cluster SummaryVersion:storm 版本号Nimbus uptime: nimbus 运行时间Supervisor:storm集...
2019-04-11 20:32:45
1244
转载 storm ack异或逻辑
ack异或逻辑spout每发出一条信息,会根据用户指定的message id生成root id(假设为111),用于标记本次数据流;不论bolt还是spout,ack val = (输入tuple id) ^ (所有输出tuple id的异或结果),只不过ack val的输入tuple不存在。acker bolt会根据root id去更新对应数据流的ack value。详解如下:...
2019-03-23 11:51:33
227
原创 数学之美--读书笔记
目录第1章 文字和语言 vs 数字和信息第2章 从规则到统计第3章 统计语言模型第4章 谈谈中文分词第5章 隐含马尔可夫模型第6章 信息的度量和作用第7章 贾里尼克和现代语言处理第8章 简单之美—布尔代数和搜索引擎的索引第9章 图论和网络爬虫第10章 PageRank—Google的民主表决式网页排名技术第11章 如何确定网页和查询的相关性第1...
2019-03-17 18:46:40
3304
转载 一举搞定 Elasticsearch 分词难题
目录1. 上手2. 分词3. 写时分词结果4. 读时分词结果5. 解释问题6. 解决需求7. 深入分析8. 自定义分词初次接触Elasticsearch的同学经常会遇到分词相关的难题,比如如下这些场景:为什么命名有包含搜索关键词的文档,但结果里面就没有相关文档呢? 我存进去的文档到底被分成哪些词(term)了? 我得自定义分词规则,但感觉好麻烦呢,无...
2019-03-13 17:59:31
753
转载 SQL 查询优化原理与 Volcano Optimizer 介绍
目录SQL 查询优化的目的SQL 查询优化的基本原理SQL 查询优化的基础算法基于规则的优化算法基于成本的优化算法Volcano Optimizer成本最优假设动态规划算法与等价集合自底向上 vs. 自顶向下广度优先搜索与启发式算法Trait/Physical properties vector其他总结随着大数据相关技术的发展,SQL 作为一...
2019-03-13 16:28:49
1035
转载 MySQL查询优化:GROUP BY
目录一、group bygroup by 优化方法 — 索引松散索引扫描(Loose Index Scan)为什么松散索引扫描的效率会很高?紧凑索引扫描(Tight Index Scan)group by 优化方法 — 直接排序二、group by 与 distinct三、排序不一致问题一、group by当我们执行 group by 操作在没有合适的索引可...
2019-03-05 19:46:16
26546
5
转载 Druid架构
目录1.Druid总体架构1.1整体架构1.2三条线路2.实时节点2.1实时索引原理2.1.1Ingest阶段2.2.2Persist阶段2.2.3 Merge阶段2.2.4Handoff阶段3.历史节点4.协调节点5.Broker节点6.Indexer节点7.ZooKeeper参考文章1.Druid总体架构1.1整...
2019-03-03 12:03:32
662
转载 BigData-‘基于代价优化’究竟是怎么一回事?
CBO基本原理提到CBO,就不得不提起一位’老熟人’ – 基于规则优化(Rule-Based Optimization,简称RBO)。RBO是一种经验式、启发式的优化思路,优化规则都已经预先定义好,只需要将SQL往这些规则上套就可以(对RBO还不了解的童鞋,可以参考笔者的另一篇文章 – 《从0到1认识Catalyst》)。说白了,RBO就像是一个经验丰富的老司机,基本套路全都知道。 然...
2019-02-24 12:22:37
317
转载 Storm之BaseRichbolt和BaseBasicbolt的区别
BaseRichBoltYou must – and are able to – manually ack() an incoming tuple.Can be used to delay acking a tuple,e.g. for algorithms that need to work across multiple incoming tuples.BaseBasicBoltAu...
2019-01-30 14:36:21
1182
转载 内存缓存、磁盘缓存、内存傻傻分不清
内存缓存高速缓存(英语:cache,英语发音:/kæʃ/ kash [1][2][3],简称缓存),其原始意义是指访问速度比一般随机存取存储器(RAM)快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。原理Cache一词来源于1967年的一篇电子工程期刊论文。其作者将法语词“cache”赋予“safekeeping storage”的涵义,用于电脑工程...
2019-01-26 22:33:25
3608
total commander 8.52a 注册Key文件
2016-11-14
TotalCommander破解文件
2016-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人