1 MapReduce中的Shuffle机制
1.1 Shuffle概述
MR中,Map阶段处理的数据如何传递给Reduce阶段是MR框架中最关键的一个流程–Shuffle。
Shuffle的核心机制:数据分区、排序、缓存
具体来说就是将MapTask输出的处理结果分发给ReduceTask,并在分发的过程中对数据按key进行了分区和排序。
Shuffle缓存流程
北方工业大学/CS/硕士在读
MR中,Map阶段处理的数据如何传递给Reduce阶段是MR框架中最关键的一个流程–Shuffle。
Shuffle的核心机制:数据分区、排序、缓存
具体来说就是将MapTask输出的处理结果分发给ReduceTask,并在分发的过程中对数据按key进行了分区和排序。
Shuffle缓存流程
InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。
它有三大特性:
特点
Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架;
Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上;
Why MapReduce?
分而治之:将大文件、大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析;
为各类分布式运算框架(如:mapreduce,spark,tez,……)提供数据存储服务
文件切块,副本存放,元数据
首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件;
其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色;
重要特性如下:
重点组件:
Java虚拟机在执行Java程序的过程中,会把它所管理的内存划分为若干个不同的数据区。
这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区域则依赖用户线程的启动和结束而建立和销毁,
我们可以将这些区域统称为Java运行时数据区域。
如下图是一个内存模型的关系图(详情见图:内存划分.png):
如上图所示,Java虚拟机运行时数据区域被分为五个区域:堆(Heap)、栈(Stack)、本地方法栈(Native Stack)、方法区(Method Area)、程序计数器(Program Count Register)。
阅读全文 >>阅读全文 >>Netty是基于Java NIO的网络应用框架.
Netty是一个NIO client-server(客户端服务器)框架,使用Netty可以快速开发网络应用,例如服务器和客户端协议。Netty提供了一种新的方式来使开发网络应用程序,这种新的方式使得它很容易使用和有很强的扩展性。Netty的内部实现时很复杂的,但是Netty提供了简单易用的api从网络处理代码中解耦业务逻辑。Netty是完全基于NIO实现的,所以整个Netty都是异步的。
网络应用程序通常需要有较高的可扩展性,无论是Netty还是其他的基于Java NIO的框架,都会提供可扩展性的解决方案。Netty中一个关键组成部分是它的异步特性.
|
|
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true