腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
鸿的学习笔记
专栏作者
举报
330
文章
279576
阅读量
49
订阅数
订阅专栏
申请加入专栏
全部文章
其他
数据库
python
sql
大数据
https
网络安全
存储
分布式
编程算法
scala
apache
机器学习
神经网络
hadoop
mapreduce
人工智能
spark
html
深度学习
开源
api
缓存
数据分析
nosql
数据处理
kafka
oracle
网站
windows
java
云数据库 SQL Server
TDSQL MySQL 版
http
hive
数据结构
云计算
数据湖
数据挖掘
json
git
github
linux
unix
文件存储
erp
hbase
node.js
容器
推荐系统
ntp
processing
javascript
xml
postgresql
bash 指令
shell
zookeeper
rpc
微信
安全
腾讯云数据仓库 TCHouse
官方文档
NLP 服务
c 语言
c++
bash
android
硬件开发
sqlite
云数据库 Redis
memcached
mvc
ide
搜索引擎
全文检索
lucene/solr
容器镜像服务
云数据库 MongoDB
网络流日志
数据加密服务
腾讯云测试服务
数据安全
yarn
kubernetes
压力测试
爬虫
jvm
卷积神经网络
gui
jdbc
ftp
udp
gcc
数据可视化
架构设计
腾讯云开发者社区
jupyter notebook
actor
io
supervisor
worker
备份
科技
搜索文章
搜索
搜索
关闭
重新解读 MapReduce
windows
分布式
mapreduce
大数据
数据库
在没有 MapReduce 编程模型的时候,做分布式系统的大数据量计算都是针对某一问题的开发特定的编程模型,写过代码的都知道这种的开发模式肯定推广不开来,后续的开发和维护都特别麻烦,但是当时也没人想着要弄一个通用的编程模型,直到后面谷歌发表了那篇著名的《MapReduce: Simplified Data Processing on Large Clusters》,大家突然发现原来在编程语言里面常用的编程模型可以用在分布式系统里,而且还能通用。
哒呵呵
2021-08-12
252
0
流计算和数据库表的关联
sql
windows
kafka
前面的那篇文章《再谈流计算的基本概念》提到了 Dataflow 模型,这个模型从更高的维度去看待看似隔离的批处理和流处理过程,把批处理过程认为是流处理过程的特例。基于这个模型,诞生了Spark Structure Streaming、Flink 和 Apache Beam 等一系列工具。
哒呵呵
2021-08-12
789
0
再谈流计算的基本概念
缓存
windows
所谓流计算可以理解为对无界数据的计算。在一般意义上,我们处理的数据都是有边界条件的,比如某个时间段的累积,而无界数据在理论上是没有开始也没有结束的边界的。
哒呵呵
2021-07-19
804
0
由Dataflow模型聊Flink和Spark
spark
大数据
数据处理
windows
Dataflow模型(或者说Beam模型)旨在建立一套准确可靠的关于流处理的解决方案。在Dataflow模型提出以前,流处理常被认为是一种不可靠但低延迟的处理方式,需要配合类似于MapReduce的准确但高延迟的批处理框架才能得到一个可靠的结果,这就是著名的Lambda架构。这种架构给应用带来了很多的麻烦,例如引入多套组件导致系统的复杂性、可维护性提高。因此Lambda架构遭到很多开发者的炮轰,并试图设计一套统一批流的架构减少这种复杂性。Spark 1.X的Mirco-Batch模型就尝试从批处理的角度处理流数据,将不间断的流数据切分为一个个微小的批处理块,从而可以使用批处理的transform操作处理数据。还有Jay提出的Kappa架构,使用类似于Kafka的日志型消息存储作为中间件,从流处理的角度处理批处理。在工程师的不断努力和尝试下,Dataflow模型孕育而生。
哒呵呵
2019-04-26
1.5K
0
《Streaming Systems》第四章-窗口
apache
windows
spark
大数据
《Streaming Systems》第四章相较于前三个章节更为复杂,倘若不是作者给出了大量的动图,恐怕大部分读者都会晕乎乎的了吧(所以强烈建议这一章观看Safari上的动图或者是Streaming 102)。
哒呵呵
2019-04-26
1.3K
1
聊聊一些垃圾回收算法
编程算法
windows
分布式
不是所有的GC都是完美的,每一个GC算法的选用都有其背后的原因。而我们选择GC算法,有四个评价标准:吞吐量(也就是说,在单位时间内你回收的对象(这里是指通过应用程序获取的数据集合)多少),最大暂停时间(要执行GC意味着,应用程序必须会发生短暂的暂停,这个评价的就是暂停时间的大小),堆使用效率(这是指GC在堆中存放的信息大小,GC过程中使用的能力),访问的局部性(这个来源于硬件,是否把具有引用关系的对象安排在堆中较近的对象)。 1.标记-清除算法 这个是最老的算法了,来源于简单的思想,把活动的对象使用一定空间递归的先打上一个标记,最后在清除阶段将没有打上标记的数据删除。在标记阶段可以使用深度优先搜索,也可以使用广度优先搜索,当然这两个算法的核心在于队列的使用。回收后,当然还需要再使用,这时候就会把这些数据用链表连接起来形成一个空闲链表。这样就会导致碎片化的分块,就和windows的文件系统一样。 2.引用计数 既然GC是一种让没有引用对象的对象离去的机制,那么为啥不让所有对象事先记录下有多少程序引用自己,然后没有引用的对象消失。这就是引用计数,来源于自然而然的想法。这个算法引入了计数器的概念。但是这个算法的实现却不是那么简单,因为我们要考虑到每个对象的更新,而不是简单的赋值了。计数器本身的增减会带来时间上的消耗,计数器本身也会占用内存。不过优点也很明显,可以即刻回收垃圾,最大暂停时间也会变少,并且没有了遍历对象的过程,这个在分布式的环境下尤为有利。 3.GC复制算法 这个算法简而言之就是,把所有活动对象复制到另一个空间To,在把原空间From的所有对象删除。因为只复制和搜索活动对象,这意味着和1所提到的标记-清除算法,GC的暂停时间减少了,对于空闲链表的分配也更加得心应手,毕竟再也没有分块的担忧了,碎片化的问题也获得了解决,有得必有失,GC复制算法也极大的消耗了堆空间。
哒呵呵
2018-08-06
240
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档