首页
学习
活动
专区
工具
TVP
发布

鸿的学习笔记

专栏作者
330
文章
279576
阅读量
49
订阅数
重新解读 MapReduce
在没有 MapReduce 编程模型的时候,做分布式系统的大数据量计算都是针对某一问题的开发特定的编程模型,写过代码的都知道这种的开发模式肯定推广不开来,后续的开发和维护都特别麻烦,但是当时也没人想着要弄一个通用的编程模型,直到后面谷歌发表了那篇著名的《MapReduce: Simplified Data Processing on Large Clusters》,大家突然发现原来在编程语言里面常用的编程模型可以用在分布式系统里,而且还能通用。
哒呵呵
2021-08-12
2520
流计算和数据库表的关联
前面的那篇文章《再谈流计算的基本概念》提到了 Dataflow 模型,这个模型从更高的维度去看待看似隔离的批处理和流处理过程,把批处理过程认为是流处理过程的特例。基于这个模型,诞生了Spark Structure Streaming、Flink 和 Apache Beam 等一系列工具。
哒呵呵
2021-08-12
7890
再谈流计算的基本概念
所谓流计算可以理解为对无界数据的计算。在一般意义上,我们处理的数据都是有边界条件的,比如某个时间段的累积,而无界数据在理论上是没有开始也没有结束的边界的。
哒呵呵
2021-07-19
8040
由Dataflow模型聊Flink和Spark
Dataflow模型(或者说Beam模型)旨在建立一套准确可靠的关于流处理的解决方案。在Dataflow模型提出以前,流处理常被认为是一种不可靠但低延迟的处理方式,需要配合类似于MapReduce的准确但高延迟的批处理框架才能得到一个可靠的结果,这就是著名的Lambda架构。这种架构给应用带来了很多的麻烦,例如引入多套组件导致系统的复杂性、可维护性提高。因此Lambda架构遭到很多开发者的炮轰,并试图设计一套统一批流的架构减少这种复杂性。Spark 1.X的Mirco-Batch模型就尝试从批处理的角度处理流数据,将不间断的流数据切分为一个个微小的批处理块,从而可以使用批处理的transform操作处理数据。还有Jay提出的Kappa架构,使用类似于Kafka的日志型消息存储作为中间件,从流处理的角度处理批处理。在工程师的不断努力和尝试下,Dataflow模型孕育而生。
哒呵呵
2019-04-26
1.5K0
《Streaming Systems》第四章-窗口
《Streaming Systems》第四章相较于前三个章节更为复杂,倘若不是作者给出了大量的动图,恐怕大部分读者都会晕乎乎的了吧(所以强烈建议这一章观看Safari上的动图或者是Streaming 102)。
哒呵呵
2019-04-26
1.3K1
聊聊一些垃圾回收算法
不是所有的GC都是完美的,每一个GC算法的选用都有其背后的原因。而我们选择GC算法,有四个评价标准:吞吐量(也就是说,在单位时间内你回收的对象(这里是指通过应用程序获取的数据集合)多少),最大暂停时间(要执行GC意味着,应用程序必须会发生短暂的暂停,这个评价的就是暂停时间的大小),堆使用效率(这是指GC在堆中存放的信息大小,GC过程中使用的能力),访问的局部性(这个来源于硬件,是否把具有引用关系的对象安排在堆中较近的对象)。 1.标记-清除算法 这个是最老的算法了,来源于简单的思想,把活动的对象使用一定空间递归的先打上一个标记,最后在清除阶段将没有打上标记的数据删除。在标记阶段可以使用深度优先搜索,也可以使用广度优先搜索,当然这两个算法的核心在于队列的使用。回收后,当然还需要再使用,这时候就会把这些数据用链表连接起来形成一个空闲链表。这样就会导致碎片化的分块,就和windows的文件系统一样。 2.引用计数 既然GC是一种让没有引用对象的对象离去的机制,那么为啥不让所有对象事先记录下有多少程序引用自己,然后没有引用的对象消失。这就是引用计数,来源于自然而然的想法。这个算法引入了计数器的概念。但是这个算法的实现却不是那么简单,因为我们要考虑到每个对象的更新,而不是简单的赋值了。计数器本身的增减会带来时间上的消耗,计数器本身也会占用内存。不过优点也很明显,可以即刻回收垃圾,最大暂停时间也会变少,并且没有了遍历对象的过程,这个在分布式的环境下尤为有利。 3.GC复制算法 这个算法简而言之就是,把所有活动对象复制到另一个空间To,在把原空间From的所有对象删除。因为只复制和搜索活动对象,这意味着和1所提到的标记-清除算法,GC的暂停时间减少了,对于空闲链表的分配也更加得心应手,毕竟再也没有分块的担忧了,碎片化的问题也获得了解决,有得必有失,GC复制算法也极大的消耗了堆空间。
哒呵呵
2018-08-06
2400
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档