- 博客(140)
- 收藏
- 关注
原创 hadoop作业调度和mapreduce过程详解
一直想写一个关于hadoopMR和作业调度,还有存储过程(hdfs)等的详细总结,因为这一段时间巩固并且学到了很多,所以借此来写一个好一点的详细一点的,以后忘了好再看着回忆一下; 先从作业提交开始 ,首先来一个简略的,作为动作级别的;首先你有了一个作业,比如MR,然后你作为客户端,向服务器提交作业,首先提交至ResourceManager,获取一个作业ID,如果没有,则生成,如果有的话,就...
2018-11-15 00:11:11
573
原创 spark executor原理详解
我原先以为executor和container有一定区别,只是功能差不多,其实功能基本一致,是作为计算资源单元,来进行计算,作为一个任务分配的单元可以是本地的或者是其他节点上的资源,反正是集群资源,可以使用其他的来进行计算,我看了有些书写的是compute方法,有些事execute方法,不知道哪一个是执行方法,在这里面设置了task数量,还有相关的操作,都实现了相关的,比如说心跳机制,心跳失败后的...
2018-09-06 17:32:13
903
原创 Spark中的ShuffleManager
shuffleManager负责管理本地以及远程的block数据的shuffle操作;shuffleManager默认使用凡是的方式来生成sortshufflemanager的实例,SortShuffleManager通过持有的IndexShuffleBlockManager简介操作BlockManager中的DiskBlockManager将map结果写入本地,并且根据shuffleId,map...
2018-08-28 16:23:37
195
原创 SparkConext内部原理解析
sparkcontext和hadoop的context其实差不多,都是用configuration来加载相关配置,然后里面初始化各种需要的值,比如sparkenv环境加载创建,还有RDD清理器,初始化sparkUI,hadoop相关配置加载,executor环境变量加载,DAGschedule,TaskScheduler,TaskScheduler这个在hadoop里是在ResourceManag...
2018-08-28 16:16:37
295
原创 SparkSession 内部原理就简单解析
自己下一个源码看到导的包就知道里面包含了很多内容import java.io.Closeableimport java.util.concurrent.atomic.AtomicReferenceimport scala.collection.JavaConverters._import scala.reflect.runtime.universe.TypeTagimport sca...
2018-08-14 22:28:35
619
原创 关于分类与回归
分类主要分出的是离散值,回归是一个量化的连续值,根据类别的固定和不固定,可以是聚类和分类,而回归就是回归;只不过同一个算法可以用来做分类或者是回归;...
2018-08-09 14:23:32
249
原创 spark sql 过滤空值,过滤某行的空值
data.na.drop() //所有空值data.na.drop(Seq("col1","col2")过滤第一行,第二行的空值;
2018-07-31 23:17:54
11010
原创 spark 表连接
一般的join都可以使用,但是如果没有唯一键,还想进行连接,就使用innerjoin,并且在join之后使用distinct,而且切记表的位置,如果不好使,还有重复,就换一下左右位置,亲测好使;还有当join之后字段重复,可以指定join之前的df名的中的字段dfname("colname")的方式;spark在预测值中切记features中不要加入标签,让不然acc一直是1.0; ...
2018-07-30 21:25:43
626
原创 springboot的映射规则
在同一个类下声明多个映射,类作为根映,要继承根,是作为根下的子目录;index目录不受影响,返回index每次都会在/;
2018-06-26 11:37:09
309
原创 关于springboot无法跳转解析html,404,500无法创建实体类工厂
没有导包,thmeleaf;后者可能是数据库连接问题,没有导入驱动,后者数据库连接失败;无法导入数据库可能是数据库的编码格式不一致;
2018-06-26 09:54:02
1734
原创 linux安装字体
大部分是为了安装中文字体,windows下的可以在linux上用;找一个windows在wind然后将这些文件kaobesudo mkfontscalesudo mkfontsdir然后就好了,用fc-list :lang
2018-06-19 17:46:41
516
原创 机器学习-2 监督学习
m=training examplesx=input (feature)y=output (target)(x,y)代表一个训练样本Ti=(xi,yi)trainingset->training algorithm->output function h (hypothesis 假设)h function 输入一个房子的面积,输出一个预计的房价;h将x映射至y;一般需要输入...
2018-03-30 19:27:12
156
原创 机器学习-1 概述
监督学习,则是有监督算法的学习,是给算法提供了一组标准的答案,来练习和标准值类似的预测值,有曲线的为回归;另一种为分类,也是一种监督学习,使用特征值来分类,基于多种特征,多维,但是当数据不能多维表现时,所以会涉及到将多维数据映射到二维,三维中;无监督学习,通常是聚类分析来告诉我们这些数据有什么特殊的结构,来达到另一种分割,可以解决计算机视觉的一些东西,比如百度地图中的3D图片;强化学习,回报学习,...
2018-03-30 15:00:46
180
原创 leetcode-1两数之和
给定一个整数数列,找出其中和为特定值的那两个数。直接两次遍历比较;时间复杂度是o(n2)如果用一个map来存储target-a,来寻找另一数字,随着每次的查找,map中对于每个元素的补数渐渐完整,而在map中查找的不算时间,所以时间复杂度会为o(n);当然要注意要排除本身;int []a=new int[2]; Map<Integer,Integer> map=new ...
2018-03-29 16:15:12
203
原创 hive udf 函数
使用hive udf函数,需要导入hive序列化类型的类,udf类等,然后创建类继承UDF,其中实现evaluate方法,返回值必须是hive可序列化的类型,从里面书写计算逻辑;然后将该类打成jar包,在hive控制台输入命令添加jar包,并且把它加入到class path当中,(add jar [绝对路径]) 然后create temporary function add as '该类的绝对路...
2018-03-23 09:21:27
318
原创 java之多线程
创建一个线程的方法有三种,Thread,Runnable 实现,实现Callable<E>;call()作为实体,可以返回try,catch;1.Thread t=new Thread();2. class x implements Runable; Thread t= new Thread(new x());3.calss x implements Callable; FutureT...
2018-03-22 21:19:37
170
原创 关系型数据库
sql语句分为DML(操作语句增删改查),DDL(定义语句创建删除修改),DCL(控制语句权限管理),触发器和完成行约束,事务管理;内连接,只显示符合条件的,左外连接以左为基准,右边不符合的为null,有外连接的相反;mysql不支持全外连接;事务:事务的四种属性,原子性,一致性,隔离性,持久性;并发操作带来的三种问题:丢失修改(操作一修改该数据,操作二也修改该数据,操作一写入,操作二写入时丢失操...
2018-03-22 20:25:20
194
原创 java中Comparable接口和Comparator接口的区别
comparable接口中有compareTo方法,实现排序;comparator接口中有compare方法,实现比较;类似于比较器;使用Comparable接口时,该类实现该接口时,要在比较的类的内部实现compareTo方法,来实现排序比较;使用接口时需要创建一个其他的类来实现Comparator接口,并在使用的时候创建该对象作为比较器;区别显而易见,前者要改变所比较的对象的源代码,后者不需要...
2018-03-22 15:15:20
254
原创 java集合框架分析
将集合的接口和实现分离,定义有效接口,与实现分离,接口定义了数据结构的规则,实现定义了各种实现;集合的基本接口是Collection接口,有两个基本方法:add,Iterator;迭代器方法返回一个实现了迭代器的对象;迭代器接口中包含了三个方法,E next(); boolean hasNext(); void remove();通过反复的调用next方法来逐个访问集合中的每个元素;使用hasNe...
2018-03-22 15:03:30
132
原创 java 设计模式
工厂模式:定义一个创造对象的接口,用子类来确定实例化哪一个接口,创建过程来自于工厂;抽象工厂模式:创建产品族模式的工厂,使得可以实行开闭原则;(xml解析时);单例模式:保证只有一个实例,有锁,住,一个单一的类,负责创建自己的对象,并同时确保只有一个对象;实现唯一的序号;数据库连接io流等需要单例;单例模式也有好几种,懒汉式线程不安全,懒汉式线程安全(懒加载),支持多线程;饿汉式不支持懒加载,容易...
2018-03-22 11:58:48
113
原创 关于spark2.x后的SparkSession
Apache Spark2.0 引入了SparkSession,其为用户提供了一个统一的切入点来使用Spark的各项功能,并且允许用户通过它调用DataFrame和Dataset相关API来编写Spark程序。最重要的是,它减少了用户需要了解的一些概念,使得我们可以很容易地与Spark交互,在SparkSession中封装了SparkContext,SparkConf等,为了解决用户可能对Spar...
2018-03-10 21:40:43
3101
原创 hadoop源码反思-1
在阅读hadoop源码中,感触最深的有以下几个1.状态机,以消息顺序图来作为触发和hadoop运行的条件;2.protocolbuffer engine,将主要运行的函数和代码,比如server端的功能序列化,消息化,字段化,可以动态进行生成,这就很6了;3.构件模块化,功能分割的很不错,hdfs,还有业务逻辑运行时的通用部件和自定义的都留有接口(在状态机上留了),使得各种部件,比如spark,s...
2018-03-10 21:24:13
143
原创 关于,recordreader,recordwriter,分组,分块
recordreader,recordwriter方法都是对每一个key,value进行的,只不过一个是读,一个是写;两者都要从format开始,分别是inputformat和outputformat,对于recordreader是从分片里读取的数据,分片也有格式,当然也可以重写,因为有个抽象类inputsplit,输入内容也是通过文件流读取,这个流实际上也是可以重写和重定向的,所以数据来源,
2018-01-23 22:01:06
396
原创 mapper 中的cleanup和setup
这里面的setup是用来资源初始化的初始化你的输入文本各方面的信息,在map之前执行,cleanup是在map之后,用来释放资源的,这两个方法都只执行一次,并不随着map方法执行而执行多次;
2018-01-17 23:23:51
630
原创 hadoop ipc 创建
其实这个类似于java RMIIPCServer建立,public class IPCServer{ public static final int IPC_PORT=9999; public static final long IPC_VER=88877; public static void main(String [] args) { tr
2018-01-03 11:54:30
216
原创 hadoop ipc
hadoop虽然没有使用javaRMI,但是也类似,使用的是家IPC,使用IPCFIleStatus作为getFIleStatus()作为getFileStatus方法的返回结果;IPCQueryStatusImpl实现了接口中定义的功能,IPCQueryServer利用RMIQueryStatusImpl的实例,构造运行IPC服务器,IPCQueryStatusClient作为客户端,使用I
2018-01-01 00:13:07
304
原创 java RMI 概述
java RMI java的远程调用实现;来总结一下就是从本地调用远程端上的方法对象之类的,概括一下方法就是在本地,通过存根(stub,也就是一个代理对象之类的),将要调用的方法请求,参数等,序列化,通过tcp socket等方法进行远程连接,传送到远端后进行反序列化,然后进行执行,调用远端的对象方法,将结果再进行序列化,作为响应返回给本地主机,再进行反序列化,得到结果值;当然,调用的要有公共接口
2017-12-30 23:48:49
130
原创 java nio 概述
因为java io是阻塞式的,所以并发性中多进程消耗比较大,所以有了nio,传统式io用的是流读取,创建流,在流中顺序读取;nio是使用的channel(通道) buffer(缓冲区) selector (选择器) 作为核心组件,主要过程为首先使用使用RandomAccessFile来读取文件,然后创建channel,创建缓冲区,在缓冲区中读取数据,或者写入数据,都是通过channel来实现的
2017-12-27 23:11:33
122
原创 hadoop源码解读三
接着上一篇,来探寻一下hadoop中的Configuration类;在第一次wordcount中我们都看到了使用这个类创建的对象,然后各种配置;其实本质上这个配置是在加载资源,配置信息参数;在windows中我们都用过的ini结尾的文件,比如mysql的my.ini文件,就直接使用的是键值对,xx=xxx,key=value;当然我们也在hadoop中配置了n个xml,配置了各种信息,
2017-11-12 23:51:57
162
原创 hadoop源码解读二
hadoop中的dfs读写操作在eclipse下创建一个hadoop项目,然后建立一个java文件TestDFS类,里面包含main方法;首先是Configuration conf =new Configuration();conf.set("fs.default.name","hdfs://localhost:9000");FileSystem hdfs =FileSystem.
2017-11-11 00:09:34
322
原创 hadoop源码阅读之mapreduce再理解
map类实现于库类中的Mapper接口, Mapper,其中包括了map方法void map(K1 key, V1 value, OutputCollector output, Reporter reporter) throws IOException; 当然一般要重写;,并且执行会执行该方法;该方法中,包括了四个参数,经过处理,将结果送到上下文,使用context.write(keyo
2017-11-05 23:37:53
218
原创 mysql的索引
关于mysql的索引有三种,fulltext,hash,btree,第一个fulltext只有在MYISAM上支持,这个是针对大量的数据写入表的,用来结局模糊查询因为数据量增加而效率变的底下的问题,这个所以借鉴了分词特性;第二个hash,使用的是给建立索引的属性建立相应的哈希表,然后在查询的时候通过哈希表的特性来提高查询速度;第三个是b树,采用的是二叉树式存储该属性的索引;第二种和第三
2017-11-05 21:03:58
416
原创 hadoop源码解读一
打开已经编译的hadoop文件夹,bin:看来像hadoop下的各种服务和组件,有cotainer,hdfs,mapred,yarn;sbin:hadoop各项服务的启动脚本,配置脚本;反正里面全是脚本;设置各方面的都有;etc:各项的配置文件,只要可以配置的都在里面,包括dfs配置,调度器配置,namenode,datanode,端口,环境,容错,缓存,等等;include:里面时h
2017-11-03 19:17:31
598
原创 计算机网络-10
适配器的作用适配器,也就是我们所说的网卡,网络接口卡,作用是转接和发送;CSMA/CD协议人们通常把局域网中的计算机叫做主机,工作站,站点,站等;为了通信方便,以太网使用了以下两种方式一种是较为ie方便的无连接方式,不必建立连接就可以直接发送数据;适配器对于数据不进行编号,也不用对方发送确认帧,以太网提供的服务是尽最大努力的交付,是不可靠的交付;对差错帧的是否需要重传由高层来决
2017-10-31 11:25:27
269
原创 html+css
html超文本标记语言,和xml,xhtml一样是一门古老的语言,一个html文档是由一系列html标签组成,一个html文档包含了标签以及文本内容;html文档允许潜入图像和对象,创建交互式表但,结构化信息;html可以引用css来定义文本和其他元素外观与布局,潜入js用于影响网页的行为;所有html文档必须声明文档类型,html5的声明是浏览器会按照该声明来解析文档;html文档以
2017-10-28 23:06:58
159
原创 计算机网络-9
数据链路层数据链路层使用的信道一共就两种,一种是点对点信道,另一种是广播信道;广播信道必须使用专用的共享协议来进行通信;使用点对点信道的数据链路层数据链路和数据帧:数据链路包含了协议,实现协议的硬件,软件等等;帧,则是将网络层叫下来的数据构成帧来发送到链路上,以及把接受到的帧中的数据取出然后给网络层;点对点通信中数据链路层主要实现的步骤如下:节点的数据链路层将网络层传输
2017-10-27 19:33:33
167
原创 计算机网络-8
物理层下的传输媒体即传输介质,传输介质可以分为两大类,一类是引导性传输介质和非引导型传输介质,引导型就是沿着固体媒介,比如铜线,光纤等,非引导性的就是无限传输这种,自由空间,比如电磁波;引导型传输介质双绞线:模拟型号和数字信号都可以使用双绞线;但是其通信距离只能是一到十几公里,再远的话就要使用放大器来防止衰减;加上屏蔽层就是屏蔽双绞线;同轴电缆:使用的内部导体铜质心线月高频越衰
2017-10-27 19:03:38
612
原创 计算机网络-7
物理层物理层的任务就是将不同的硬件通信连接方式所带来的差别进行屏蔽,使得他的上层数据链路层感觉不到物理层中硬件的区别;物理层的主要任务就是描述为确定的与传输媒体的接口相关的一些特性:机械特性:尺寸,形状位置等;电气特性:接口电缆上的电压规范;功能特性:致命某一线路上的某一电平的意义;过程特性:不同功能的各种事件出现的顺序;因为数据在通信线路上传输一般是串行的,所以物理层
2017-10-27 16:01:08
179
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅