- 博客(25)
- 收藏
- 关注
原创 Hadoop源码分析(十二)
2021SC@SDUSC研究内容简略介绍上周我们在学习了RecordReader的基础上分析了RecordWriter的源码,并对mapreduce中最关键的几个类之一Reducer进行了深入分析,了解了其函数以及工作流程,并结合之前学习的mapper分析了mapreduce的粗略过程。本次我们从org.apache.hadoop.mapreduce.TaskAttemptID开始,完成最后一部分的分析。org.apache.hadoop.mapreduce.TaskAttemptID源码分析首先
2021-12-23 15:44:20
993
原创 Hadoop源码分析(十一)
2021SC@SDUSC研究内容简略介绍上周我们分析了类Partitioner以及其代表子类HashPartitioner,并对字定义Partitioner做了一些尝试。随后又分析了QueueAclsInfo和RecordReader,同时对RecordReader的方法及几种常见RecordReader做了分析。本次我们将要继续分析与RecordReader紧密相连的类org.apache.hadoop.mapreduce.RecordWriter<K,V>。org.apache.ha
2021-12-13 21:05:21
276
原创 Hadoop源码分析(十)
2021SC@SDUSC研究内容简略介绍上周我们分析了迭代器类MarkableIterator,OutputCommitter,OutputFormat以及其子类,并对自定义格式输出有了进一步的了解。本此我们将继续分析,首先从org.apache.hadoop.mapreduce.MarkableIterator<VALUE>开始。...
2021-12-07 23:17:11
338
原创 Hadoop源码分析(九)
2021SC@SDUSC研究内容简略介绍上周我们对输入分片InputSplit进行了分析,对其分片大小进行了进一步的探究。随后展开了对与mapreduce中的核心类mapper的分析,在了解其作用的基础上,又对其几个重要的子类做了源码分析。本此我们将继续分析,首先从org.apache.hadoop.mapreduce.MarkableIterator<VALUE>开始。org.apache.hadoop.mapreduce.MarkableIterator源码分析首先附上文件的源代码
2021-11-30 21:10:22
871
原创 Hadoop源码分析(八)
2021SC@SDUSC研究内容简略介绍上周我们将对InputFormat的几个重要子类,如FileInputFormat等展开了详细的分析,在了解了InputFormat的源码并分析其的功能的基础上,进一步分析了输入类FileInputFormat(切片)及其4个实现类(kv)的用法。本次我们将继续对核心源码的分析,首先从org.apache.hadoop.mapreduce.InputSplit开始。org.apache.hadoop.mapreduce.InputSplit源码分析首先附上文
2021-11-25 22:20:57
1454
原创 Hadoop源码分析(七)
2021SC@SDUSC研究内容简略介绍上周我们分析了ID类,对ID类的作用有了初步的了解,然后开始了对其子类的分析,我们以JobID为例,探讨了它的源码,了解了其中的重点方法。同时我们阅读了InputFormat的源码,分析了其的功能。接下来我们将对InputFormat的几个重要子类,如FileInputFormat等展开详细的分析。org.apache.hadoop.mapreduce.lib.input.FileInputFormat源码分析FileInputFormat是所有基于文件的
2021-11-15 17:17:43
138
原创 maven资源过滤问题
如何解决Maven资源过滤问题使用maven时会出现这样的错误,并没有将resources文件下的所有文件复制到classpath下面。此时只需要在pom.xml文件引入相关的依赖。 <build> <resources> <resource> <directory> src/main/resources &l
2021-11-14 21:26:35
341
原创 Hadoop源码分析(六)
2021SC@SDUSC研究内容简略介绍上周我们完成了对org.apache.hadoop.mapreduce.Counters中核心代码的分析,本周将从org.apache.hadoop.mapreduce.ID开始继续往下分析。org.apache.hadoop.mapreduce.ID源码分析package org.apache.hadoop.mapreduce;import java.io.DataInput;import java.io.DataOutput;import ja
2021-11-10 20:48:05
1127
原创 Hadoop源码分析(五)
2021SC@SDUSC研究内容简略介绍上周我们分析了org.apache.hadoop.mapreduce.Counters中的的核心代码,本周将继续对Counters部分进行分析。在对Counters类有初步了解的基础上,我们继续分析与Counters相关的源码,并对counters的使用进行实践。上一周我们对mapreduce核心类counters计数器进行分析,初步探讨了它的作用、构造函数,并通过编写简单的自定义Counters完成了对文件错误记录与全部记录的统计,加深了了解。同时我们提到
2021-10-31 16:42:13
1094
原创 Hadoop源码分析(四)
2021SC@SDUSC研究内容简略介绍上周我们分析了org.apache.hadoop.mapreduce.Cluster中的的核心代码,本周将继续对mapreduce部分进行分析。在对Cluster类有初步了解的基础上,我们继续分析与Cluster相关的org.apache.hadoop.mapreduce.ClusterMetrics。hadoop.mapreduce.ClusterMetrics分析我们首先来看ClusterMetrics的全局变量与构造方法。@InterfaceAudi
2021-10-31 15:48:14
944
原创 Hadoop源码分析(三)
2021SC@SDUSC研究内容简略介绍上周我们分析了org.apache.hadoop.mapreduce.Job中的的剩余代码,本周将开始对org.apache.hadoop.mapreduce.Cluster进行分析。hadoop.mapreduce.Cluster源码文件Cluster构造方法先来看下Cluster类的成员信息。package org.apache.hadoop.mapreduce;import .../** * Provides a way to access
2021-10-24 19:26:52
389
原创 Hadoop源码分析(二)
2021SC@SDUSC上周我们分析了org.apache.hadoop.mapreduce.Job中的的部分代码,本周将继续研究Job类中的剩余代码。上图是apache官方api对class Job的描述,即Job类是作业提交者对作业的视图。它允许用户配置作业、提交作业、控制作业的执行和查询状态。set方法只能在作业被提交后生效,之后它们将抛出一个IllegalStateException。通常情况下,用户创建应用程序,通过job描述作业的各个方面,然后提交作业并监视其进度。官方为我们提供了一个J
2021-10-17 22:27:33
182
原创 Hadoop源码分析(一)
2021SC@SDUSC要分析Hadoop中MapReduce部分的源码,我们需要先了解MapReduce的基本流程:以 Hadoop 带的 wordcount 为例子(下面是启动行):hadoop jar hadoop-0.19.0-examples.jar wordcount /usr/input /usr/output用户提交一个任务以后,该任务由 JobTracker 协调,先执行 Map 阶段(图中 M1,M2 和 M3),然后执行 Reduce 阶段(图中 R1 和 R2)。Map
2021-10-10 22:07:27
399
原创 docker项目部署流程
项目部署流程1.从git上获得项目的zip包2.下载依赖包,并执行(前端代码,后端代码跳过此步)npm installnpm run3.进入项目的文件夹下(包含dockerfile),生成文件的docker镜像,并且修改镜像tagdocker build -t bot-explain-manager:v1.0 .#注意最后有个 . 代表路径,不能遗漏了docker tag bot-explain-manager:v1.0 80.68.64.xxx:xxxx/application/bot-
2021-07-21 17:20:45
2545
2
原创 C++学习随笔
1.strlen()方法:#include 不含 strlen() 方法,若要使用应当引入 头文件2.vs调整字体大小:ctrl+shift+ >或<3.控制输出的精确度:#include
2020-05-06 18:36:30
158
原创 C++ 7-4 字符串的连接
本题要求编写程序,使用指针方式实现两个字符串的连接(不能使用strcat函数),并将连接后的字符串输出。输入格式:输入一行以回车结束的非空字符串(不超过40个字符),再输入一行以回车结束的非空字符串(不超过40个字符)。输出格式:一行输出俩字符串连接后新的字符串。输入样例:Beijing_China输出样例:Beijing_China示例:#include<iostre...
2020-04-21 23:11:03
4024
1
原创 C++PTA汉诺塔
7-5 汉诺塔问题* (10分)汉诺塔是一个源于印度古老传说的益智玩具。据说大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘,大梵天命令僧侣把圆盘移到另一根柱子上,并且规定:在小圆盘上不能放大圆盘,每次只能移动一个圆盘。当所有圆盘都移到另一根柱子上时,世界就会毁灭。请编写程序,输入汉诺塔圆片的数量,输出移动汉诺塔的步骤。输入格式圆盘数 起始柱 目的柱...
2020-04-19 17:17:29
1122
原创 PTA-冒泡排序法(C++)
本题要求使用冒泡法排序,将给定的n个整数从小到大排序后输出,并输出排序过程中每一步的中间结果。冒泡排序的算法步骤描述如下:第1步:在未排序的n个数(a[0]〜 a[n−1])中,从a[0]起,依次比较相邻的两个数,若邻接元素不符合次序要求,则对它们进行交换。本次操作后,数组中的最大元素“冒泡”到a[n−1];第2步:在剩下未排序的n−1个数(a[0] 〜 a[n−2])中,从a[0]起,依次...
2020-04-07 23:03:02
3644
原创 C++指针学习
一、指针的基本概念1.指针的作用:可以通过指针间接访问内存内存编号是从0开始记录的,一般用十六进制数字表示可以利用指针变量保存地址二、指针变量的定义和使用指针变量定义语法: 数据类型 * 变量名;示例:int main() { //1、指针的定义 int a = 10; //定义整型变量a //指针定义语法: 数据类型 * 变量名 ; int * p; //指针...
2020-04-07 21:29:56
252
原创 eclipse使用maven时遇到的问题
今天刚刚学习maven的使用,准备创建一个maven项目进行测试时,发现项目下的pom.xml文件报错,具体报错如下:把错误提示放在百度上查找,发现有很多不同的说法,一开始觉得是插件没有下载完全,按照一个博客中的教程修改了文件 lifecycle-mapping-metadata.xml ,但是依旧报错。最终发现是因为maven默认连接的是国外的中央仓库,下载速度较慢(不确定具体是不是这个原...
2020-03-26 20:27:33
227
原创 C++程序流程结构
三目运算符1.语法:表达式1?表达式2:表达式32.若表达式1的值为真,则执行表达式2并返回其结果若表达式1的值为假,则执行表达式3并返回其结果#include <iostream>using namespace std;int main(){ int a = 20; int b = 10; cout << (a > b ? a : b) &l...
2020-03-11 17:00:11
274
原创 C++数据类型笔记
变量命名1.变量名可由字母,数字,下划线( _ )组成2.变量名开头不可为数字常量1.宏常量语法:#define+常量名+常量值#define a 10 //注意结尾无 ;通常在文件上方定义,表示一个常量2.const修饰变量const int a = 10;sizeof关键字1.语法:sizeof(数据类型/变量)2.作用:统计数据类型所占内存大小 float a ...
2020-03-10 22:56:40
211
原创 VS如何运行多个项目中指定一个
刚开始使用VS学习C++,创建了两个项目,打开项目2的文件使用Ctrl+F5却始终显示运行项目1的文件。解决方法如下:右键你需要运行的项目,选择设为启动项目,Ctrl+F5重新运行即可...
2020-03-09 21:58:36
5703
4
原创 Java线程学习
线程对象只能启动一个线程不管是通过继承Thread,还是通过实现Runnable接口创建线程,他们的一个对象只能启动(即start())一次,否则会抛出异常java.lang.IllegalThreadStateException线程并发问题多线程并发会带来线程安全问题java处理线程同步的方法非常简单,只需在需要同步的代码段用synchronized(object){需要同步的代码}即...
2020-02-29 16:06:19
133
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人