
大数据专栏
介绍大数据相关的内容,hadoop,storm,spark等
波波烤鸭
10余年架构和线上讲师工作经验。精通Java,微服务和云原生相关,致力于Java技术的免费分享。
展开
-
MapReduce原理分析之MapTask读取数据
通过前面的内容介绍相信大家对于MapReduce的操作有了一定的了解,通过客户端源码的分析也清楚了split是逻辑分区,记录了每个分区对应的是哪个文件,从什么位置开始到什么位置介绍,而且一个split对应一个Map Task任务,而MapTask具体是怎么读取文件的呢?本文来具体分析下。MapTask读取数据的过程 我们要分析的就是如下的过程:1.自定义Mapper 在自定义的M...原创 2019-04-06 00:26:35 · 2486 阅读 · 0 评论 -
MapReduce之输出结果排序
前面的案例中我们介绍了统计出每个用户的上行流量,下行流量及总流量,现在我们想要将输出的结果按照总流量倒序排序。实现思路 MR程序在处理数据的过程中会对数据排序(map输出的kv对传输到reduce之前会排序),排序的依据是map输出的key。所以我们如果要实现自己需要的排序规则,则可以考虑将排序因素放到key中,让key实现接口:WritableComparable,然后重写key的c...原创 2019-04-04 23:41:32 · 6361 阅读 · 0 评论 -
MapReduce之分区器(Partitioner)
Partitactioner Partitioner 组件可以对 MapTask后的数据按Key进行分区,从而将不同分区的Key交由不同的Reduce处理。这个也是我们经常会用到的功能。1.使用场景 比如上个案例中我们统计出来了每个用户的流量数据,那么我们接下来想把统计的用户数据根据不同的手机号输出到不同的文件中,那么这时使用分区器就非常合适了。2.HashPartitioner ...原创 2019-04-04 23:05:37 · 2984 阅读 · 0 评论 -
MapReduce切片机制
MapReduce切片机制为什么需要切片 MapReduce是一个分布式计算框架,处理的是海量数据的计算。那么并行运算必不可免,但是到底并行多少个Map任务来计算呢?每个Map任务计算哪些数据呢?这些我们数据我们不能够凭空估计,只能根据实际数据的存储情况来动态分配,而我们要介绍的切片就是要解决这个问题,切片机制原理 切片的规则我们需要通过阅读源代码来了解。首先我们来看下hadoop中...原创 2019-04-04 18:07:24 · 2749 阅读 · 0 评论 -
MapReduce之流量汇总案例
流量汇总案例1.需求 现在我们采集到了一份用户访问流量的数据,我们需要从这份数据中统计出每个用户的流量数据。部分测试数据如下:可以拷贝出去做测试1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.82 i02.c.aliimg.com 24 27 2481 24681 2001363157995052 138...原创 2019-04-04 17:15:06 · 1986 阅读 · 1 评论 -
MapReduce之Eclipse本地运行
前面我们介绍的wordcount案例是在Eclipse中写好代码,然后打成jar包,然后在Linux环境中执行的,这种方式在我们学习和调试的时候就显得非常的不方便,所以我们来介绍下直接在Eclipse运行的本地运行方式。本地运行模式本地运行模式的特点mapreduce程序是被提交给LocalJobRunner在本地以单进程的形式运行。而处理的数据及输出结果可以在本地文件系统,也可以在...原创 2019-04-04 15:40:32 · 1884 阅读 · 1 评论 -
Hadoop之MapReduce04【客户端源码分析】
本文是基于hadoop2.6.5的源码分析。客户端源码分析启动的客户端代码public static void main(String[] args) throws Exception { // 创建配置文件对象 Configuration conf = new Configuration(true); // 获取Job对象 Job job = Job.getInstance...原创 2019-04-03 23:58:54 · 2144 阅读 · 3 评论 -
Hadoop之MapReduce03【wc案例流程分析】
上篇文件介绍了自定义wordcount案例的实现,本文来介绍下具体的执行流程流程图流程说明1.当客户端提交submit的时候客户端程序会根据我们输入的/wordcount/input地址找到需要统计的数据,根据我们的配置信息得到任务规划文件2.将任务规划文件上传到hdfs指定的位置。hadoop fs -ls /tmp/hadoop-yarn/staging/root/.stagi...原创 2019-04-03 19:54:23 · 1822 阅读 · 0 评论 -
Hadoop之MapReduce02【自定义wordcount案例】
创建MapperTask 创建一个java类继承Mapper父类接口形参说明参数说明K1默认是一行一行读取的偏移量的类型V1默认读取的一行的类型K2用户处理完成后返回的数据的key的类型V2用户处理完成后返回的value的类型注意数据经过网络传输,所以需要序列化数据类型序列化类型IntegerIntWritabl...原创 2019-04-03 17:00:18 · 1728 阅读 · 0 评论 -
Hadoop之MapReduce01【自带wordcount案例】
一、什么是mapreduce组件说明HDFS分布式存储系统MapReduce分布式计算系统YARNhadoop 的资源调度系统Common三大[HDFS,Mapreduce,Yarn]组件的底层支撑组件,主要提供基础工具包和 RPC 框架等 Mapreduce 是一个分布式运算程序的编程框架,是用户开发“基于 hadoop 的数据分析应用”的...原创 2019-04-02 23:27:52 · 4650 阅读 · 0 评论 -
Hadoop之HDFS04【JavaAPI操作】
前面项目中我们是创建的java项目来演示的,但是hadoop相关的依赖太多了,不方便,本文通过maven项目来演示HDFS的java API操作创建maven项目相关的依赖<dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId&...原创 2019-04-02 21:05:34 · 1542 阅读 · 0 评论 -
Hadoop之HDFS03【NameNode工作原理】
NameNode的职责序号职责1负责客户端请求的响应2元数据的管理(查询,修改)数据存储的形式 NameNode中的元数据信息以三种形式存储,如下序号方式说明1内存元数据(NameSystem)读写效率高2磁盘元数据镜像文件持久化3数据操作日志文件(可通过日志运算出元数据)内存和磁盘数据同步的桥梁数据...原创 2019-04-02 20:19:49 · 1800 阅读 · 0 评论 -
Hadoop之HDFS02【上传下载文件原理】
文件上传原理原理步骤: 客户端要向HDFS写数据,首先要跟namenode通信以确认可以写文件并获得接收文件block的datanode,然后,客户端按顺序将文件逐个block传递给相应datanode,并由接收到block的datanode负责向其他datanode复制block的副本根namenode通信请求上传文件,namenode检查目标文件是否已存在,父目录是否存在name...原创 2019-04-02 18:12:56 · 1814 阅读 · 0 评论 -
Hadoop之HDFS01【介绍】
&esmp; HDFS(Hadoop Distributed File System)分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。存储模型 假如我们有一个10T的文件要存储,而我们的硬盘空间只有1个T,那么这时候我们可以将这个10T的文件切成10个1T的文件来分别存储在10个硬盘中,HDFS的...原创 2019-04-02 17:00:24 · 1682 阅读 · 0 评论 -
Hadoop06【API操作】
windows环境搭建1.安装hadoop 将hadoop在Linux中的安装文件解压缩一份。并将此bin目录中的文件覆盖掉解压缩文件中的bin目录。链接:https://pan.baidu.com/s/1X8fNPkvWn8mu-L6ldYt9EQ提取码:b8xe同时 将hadoop.dll文件保存到c:/windows/system32下2.设置环境变量java项目操作...原创 2019-04-01 23:54:55 · 1559 阅读 · 0 评论 -
Hadoop05【命令操作】
上篇文章我们成功的搭建了hadoop的集群环境,本文来介绍下hadoop的基本操作HDFS存储目录1.存储目录结构在datanode的hdfsdata目录下查看:文件说明BP-1867776167-192.168.88.61-1554050717516BP-random integer-NameNode-IP address-creation timefi...原创 2019-04-01 21:31:11 · 1579 阅读 · 0 评论 -
Hadoop04【集群环境搭建】
因为伪分布式环境搭建没啥意义,所以我们直接来搭建hadoop的集群环境,一、安装文件1.下载文件链接:https://pan.baidu.com/s/1OXiW1i3gD6fVvrFX7NXsJg 提取码:nyzk下载内容包括源文件和编译的文件。2.上传解压缩 文件上传在/root/apps/目录下.解压缩并重命名进入hadoop目录中目录结构介绍目录说明...原创 2019-04-01 00:50:41 · 1653 阅读 · 0 评论 -
Hadoop03【搭建环境准备】
一、环境准备1.jdk hadoop安装前必须要安装好jdk环境,版本最好用jdk8。2.节点准备 准备四个节点节点描述hadoop-node1(192.168.88.61)NameNodehadoop-node2(192.168.88.62)DataNodehadoop-node3(192.168.88.63)DataNodehadoo...原创 2019-03-31 22:43:09 · 1856 阅读 · 0 评论 -
Hadoop02【架构分析】
hadoop1.0 Hadoop1.0即第一代Hadoop,指的是版本为Apache Hadoop 0.20.x、1.x或者CDH3系列的Hadoop,内核主要由HDFS和MapReduce两个系统组成,其中MapReduce是一个离线处理框架,由编程模型(新旧API)、运行时环境(JobTracker和TaskTracker)和数据处理引擎(MapTask和ReduceTask)三部分组成。...原创 2019-03-31 21:02:20 · 1977 阅读 · 0 评论 -
Hadoop01【介绍】
什么是Hadoop官网:http://hadoop.apache.org/HADOOP是apache旗下的一套开源软件平台,HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理HADOOP的核心组件有:HDFS(分布式文件系统)YARN(运算资源调度系统)MAPREDUCE(分布式运算编程框架)广义上来说,HADOOP通常是指一个更广泛的概念...原创 2019-03-31 20:24:47 · 2091 阅读 · 0 评论