07 2018 档案

摘要:一、下载安装(Ubuntu16.04) 1.下载地址:https://golang.google.cn/dl/ 2.下载Linux版本的安装包go1.10.3.linux-amd64.tar.gz并复制到/usr/local下并解压 3.增加Linux环境变量并source生效 (1)执行编写环境变 阅读全文
posted @ 2018-07-26 16:33 BigJunOba 阅读(505) 评论(0) 推荐(0)
摘要:一、WebCollector介绍 WebCollector是一个无须配置、便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫。 WebCollector致力于维护一个稳定、可扩的爬虫内核,便于开发者进行灵活的二次开发。内核具有很强的扩展性,用户可以在 阅读全文
posted @ 2018-07-26 11:40 BigJunOba 阅读(1175) 评论(0) 推荐(0)
摘要:大数据分析应用系统的完整开发过程分为数据采集、数据存储、数据计算和数据分析和展示四个部分。 数据采集:WebCollector框架 数据存储:SQL 数据计算: 数据分析和展示:Java EE 流程就是:在Windows上使用WebCollector数据采集模块来采集数据并得到Windows下面的 阅读全文
posted @ 2018-07-24 22:13 BigJunOba 阅读(1485) 评论(0) 推荐(0)
摘要:二、ALS的应用设计 1.输入数据 (1)评分文件(rating.dat) 该数据有四个字段,格式为UserID::MovieID::Rating::Timestamp,分别为用户编号、电影编号、评分、评分时间戳。 其中,用户编号范围(1~6040)、电影编号(1~3952)、电影评分(0~5)、评 阅读全文
posted @ 2018-07-24 22:07 BigJunOba 阅读(269) 评论(0) 推荐(0)
摘要:一、分布式估算圆周率 1.计算原理 假设正方形的面积S等于x²,而正方形的内切圆的面积C等于Pi×(x/2)²,因此圆面积与正方形面积之比C/S就为Pi/4,于是就有Pi=4×C/S。 可以利用计算机随机产生大量位于正方形内部的点,通过点的数量去近似表示面积。假设位于正方形中点的数量为Ps,落在圆内 阅读全文
posted @ 2018-07-24 10:49 BigJunOba 阅读(2668) 评论(0) 推荐(0)
摘要:Spark通常采用Scala语言进行开发,而IDEA是最佳的Scala语言开发环境 1.https://www.jetbrains.com/idea/download/#section=linux下载ideaIC-2018.1.6.tar.gz然后复制到Master下的/home/jun下并解压,执 阅读全文
posted @ 2018-07-23 22:17 BigJunOba 阅读(313) 评论(0) 推荐(0)
摘要:一、Scala安装 1.https://www.scala-lang.org/download/2.11.12.html下载并复制到/home/jun下解压 2.启动Scala并使用Scala Shell 3.将Scala安装包复制到slave节点 二、Spark集群的安装与配置 采用Hadoop 阅读全文
posted @ 2018-07-23 21:33 BigJunOba 阅读(381) 评论(0) 推荐(0)
摘要:一、Kafka的下载与解压 http://kafka.apache.org/downloads.html下载kafka_2.11-1.1.1.tgz.gz并解压到/home/jun下 二、配置Kafka集群 1.在Master节点上的配置 配置server.properties (1)在Server 阅读全文
posted @ 2018-07-23 18:01 BigJunOba 阅读(1184) 评论(0) 推荐(0)
摘要:Sqoop是一个用来完成Hadoop和关系型数据库中的数据相互转移的工具,它可以将关系型数据库中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库中。 Kafka是一个开源的分布式消息订阅系统 一、Sqoop的安装 1.http://www-eu.apache.org/d 阅读全文
posted @ 2018-07-23 16:10 BigJunOba 阅读(1448) 评论(0) 推荐(0)
摘要:一、Zookeeper的安装 1.http://www-us.apache.org/dist/zookeeper/stable/下载Zookeeper安装包,并将zookeeper-3.4.12.tar.gz复制到/home/jun下并解压 2.使用gedit编辑zoo.cfg配置文件 将下面的配置 阅读全文
posted @ 2018-07-23 11:42 BigJunOba 阅读(1943) 评论(0) 推荐(0)
摘要:一、MySQL安装 CenOS7使用MariaDB替代了默认的MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区维护,采用GPL授权许可。MariaDB完全兼容MySQL,包括API和命令行。 1.下载MySQL:https://dev.mysql.com/downloa 阅读全文
posted @ 2018-07-22 17:06 BigJunOba 阅读(255) 评论(0) 推荐(0)
摘要:一、Eclipse的安装与设置 1.在Eclipse官网上下载eclipse-jee-oxygen-3a-linux-gtk-x86_64.tar.gz文件并将其拷贝到/home/jun/Resources下,然后再将文件拷贝到/home/jun下并解压。 2.执行.eclipse程序即可启动ecl 阅读全文
posted @ 2018-07-22 14:27 BigJunOba 阅读(2735) 评论(0) 推荐(0)
摘要:一、HDFS基本命令 1.创建目录:-mkdir 2.查看文件列表:-ls 3.上传文件到HDFS 在/home/jun下新建两个文件jun.dat和jun.txt (1)使用-put将文件从本地复制到HDFS集群 (2)使用-copyFromLocal将文件从本地复制到HDFS集群 (3)查看是否 阅读全文
posted @ 2018-07-22 11:00 BigJunOba 阅读(902) 评论(0) 推荐(0)
摘要:1.虚拟机克隆 在VM界面点击查看-自定义-库,然后在左边我的计算机下右键点击安装好的第一个系统,然后管理-克隆,选择克隆系统所在的文件路径即可。 2.三台主机名字修改 root用户下: (1)编辑network配置文件 (2)在配置文件中增加如下配置,保存退出 (3)输入hostname mast 阅读全文
posted @ 2018-07-20 16:02 BigJunOba 阅读(316) 评论(0) 推荐(0)
摘要:1.日志的概念 在调试有问题的代码时,经常需要插入一些System.out.println方法来观察程序运行的操作过程。但是,一旦发现了问题并且解决了问题,就需要将这些System.out.println语句从代码中删除或者注释。如果接下来又出现了问题,就还要再插入几个System.out.prin 阅读全文
posted @ 2018-07-20 11:34 BigJunOba 阅读(729) 评论(0) 推荐(0)
摘要:1.断言的概念 假设确信某个属性符合要求,并且代码的执行依赖于这个属性。 断言机制允许在测试期间向代码插入一些检查语句,当代码发布时,这些插入的检查语句将会被自动地移走。 断言失败是致命的,不可恢复的错误。断言检查只用于开发和测试阶段。 断言只应该用于在测试阶段确定程序内部的错误位置。 2.一般使用 阅读全文
posted @ 2018-07-20 08:44 BigJunOba 阅读(3332) 评论(0) 推荐(0)
摘要:1.处理错误的要求 如果由于出现错误而使得某些操作没有完成,程序应该: 返回到一种安全状态,并能够让用户执行一些其他的命令。 允许用户保存所有操作的结果,并以妥善的方式终止程序。 2.程序中可能出现的错误和问题 用户输入错误 设备错误 物理限制 代码错误 3.异常分类 Error类层次结构描述了Ja 阅读全文
posted @ 2018-07-20 08:39 BigJunOba 阅读(587) 评论(0) 推荐(0)
摘要:1.为什么要使用代理 代理可以在运行时创建一个实现了一组给定接口的新类。这种功能只有在编译时无法确定需要实现哪个接口时才有必要使用。 假设有一个表示接口的Class对象(有可能只包含一个接口),它的确切类型在编译时无法知道,如果想要根据这个Class对象来构造一个实现这些接口的类,就需要使用newI 阅读全文
posted @ 2018-07-18 16:03 BigJunOba 阅读(350) 评论(0) 推荐(0)
摘要:1.内部类是定义在另一个类中的类。使用内部类的原因有: 内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据 内部类可以对同一个包中的其他类隐藏起来 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷 2.使用内部类访问对象状态 内部类既可以访问自身的数据域,也可以访问创建 阅读全文
posted @ 2018-07-18 15:50 BigJunOba 阅读(338) 评论(0) 推荐(0)
摘要:1.引入lambda表达式的重要性 lambda表达式是一个可传递的代码块,可以在以后执行一次或多次。 在前面的回调部分,有一个例子是,ActionListener类实现了TimePrinter接口并在类中定义了一些方法作为到达时间后要发生的动作。然后将listener对象传递给Timer类的构造器 阅读全文
posted @ 2018-07-18 15:49 BigJunOba 阅读(385) 评论(0) 推荐(0)
摘要:一、回调 1.回调是一种常见的程序设计模式,可以指出某个特定时间发生时应该采取的动作。 在java.swing包中有一个类Timer类,可以使用它在到达指定的时间间隔作出什么动作。那么就有两个问题,即设置时间间隔和告知定时器到达时间间隔时的操作。 具体的实现是,将ActionListener类的对象 阅读全文
posted @ 2018-07-18 15:48 BigJunOba 阅读(344) 评论(0) 推荐(0)
摘要:1.接口的概念 在Java中,接口不是类,而是对类的一组需求描述,这些类要遵从接口描述。 例如:Array类中的sort方法可以对对象数组进行排序,但要求满足下列前提:对象所属的类必须实现了Comparable接口。 Comparable接口的代码:任何实现了Comparable接口的类都必须包含c 阅读全文
posted @ 2018-07-18 15:45 BigJunOba 阅读(456) 评论(0) 推荐(0)
摘要:1.反射库(reflection library)提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵Java代码的程序。 能够分析类能力的程序称为反射(reflection)。反射机制的功能极其强大,例如: 在运行时分析类的能力 在运行时查看对象 实现通用的数组操作代码 利用Method对象 阅读全文
posted @ 2018-07-17 18:09 BigJunOba 阅读(355) 评论(0) 推荐(0)
摘要:1.对象包装器 有时候,需要将int这样的基本类型转换为对象。所有的基本类型都有一个与之对应的类。通常,这些类被称为包装器(wrapper)。 这些对象包装类分别是:Integer、Long、Float、Double、Short、Byte、Character、Void和Boolean。 对象包装类是 阅读全文
posted @ 2018-07-17 16:29 BigJunOba 阅读(1182) 评论(0) 推荐(0)
摘要:一、泛型数组列表ArrayList 1.在Java中,ArrayList类可以解决运行时动态更改数组的问题。ArrayList使用起来有点像数组,但是在添加或删除元素时,具有自动调节数组容量的功能,而不需要为此编写任何代码。 对数组列表实施插入和删除操作效率比较低,对于小型数组来说可以接受。但是如果 阅读全文
posted @ 2018-07-17 15:58 BigJunOba 阅读(1339) 评论(0) 推荐(0)
摘要:1.equal方法 Object类中的equal方法用于检测一个对象是否等于另外一个对象。在Object类中,这个方法将判断两个对象是否具有相同的引用。如果两个对象具有相同的引用,它们一定是相等的。然而对于多数类来说,这种判断并没有什么意义,因为经常需要检测两个对象状态是否相等,如果两个对象的状态相 阅读全文
posted @ 2018-07-17 11:30 BigJunOba 阅读(5544) 评论(0) 推荐(0)
摘要:1.多态 先来看一个例子,其中Employee类是父类,Manager类继承了Employee类: 在for循环中,尽管这里将e声明为Employee类型,但实际上e既可以引用Employee类型的对象,也可以引用Manager类型的对象。当e引用Employee对象时,e.getSalary()方 阅读全文
posted @ 2018-07-17 09:27 BigJunOba 阅读(405) 评论(0) 推荐(0)
摘要:1.类注释 类注释必须放在import语句之后,类定义之前。eclipse中使用Shift + Alt + J快捷键添加类注释。 2.方法注释 每一个方法注释必须放在所描述的方法之前。除了通用标记之外,还可以使用下面的标记: @param:对当前方法的“param”(参数)部分添加一个条目。一个方法 阅读全文
posted @ 2018-07-16 22:46 BigJunOba 阅读(194) 评论(0) 推荐(0)
摘要:1.类的概念:类是构造对象的模板或蓝图。由类构造对象的过程称为创建类的实例。 2.封装的概念:封装(有时称为数据隐藏)是与对象有关的一个重要概念。对象中的数据称为实例域,操纵数据的过程称为方法。对于每个特定的类实例(对象)都有一组特定的实例域值。这些值的几个就是这个对象的当前状态。无论何时,只要向对 阅读全文
posted @ 2018-07-16 22:06 BigJunOba 阅读(223) 评论(0) 推荐(0)
摘要:数据类型主要分为基本类型和引用类型两大类。 一、基本类型 1.基本类型又分为数值类型和boolean类型, (1)数值类型包括浮点数类型、整数类型和字符类型 整型 浮点型(初始化时需要加f或d) 字符类型 byte 8位 1字节 float 32位 4字节 char类型原本用于表示单个字符。 sho 阅读全文
posted @ 2018-07-16 20:16 BigJunOba 阅读(234) 评论(0) 推荐(0)
摘要:一、安装redis-py的方法 使用pip install安装redis-py 二、redis-py的使用方法(其他API和jedis类似,不一一测试了) 阅读全文
posted @ 2018-07-16 17:50 BigJunOba 阅读(421) 评论(0) 推荐(0)
摘要:一、归并排序的定义 归并排序(Merging Sort)就是利用归并的思想实现的排序方法。它的原理是假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到【n/2】个长度为2或1的有序子序列;再两两归并,...,如此反复,直到得到一个长度为n的有序序列为止, 阅读全文
posted @ 2018-07-12 11:36 BigJunOba 阅读(414) 评论(0) 推荐(0)
摘要:一、插入排序的基本思想 从初始有序的子集合开始,不断地把新的数据元素插入到已排列有序子集合的合适位置上,使子集合中数据元素的个数不断增多,当子集合等于集合时,插入排序算法结束。常用的 插入排序算法有直接插入排序和希尔排序两种。 二、直接插入排序 1.直接插入排序的定义 直接插入排序的基本思想是:顺序 阅读全文
posted @ 2018-07-12 10:27 BigJunOba 阅读(301) 评论(0) 推荐(0)
摘要:一、选择排序的定义 选择排序的基本思想是:每次从待排序的数据元素集合中选取最小(或最大)的数据元素放到数据元素集合的最前(或最后),数据元素集合不断缩小,当数据元素集合为空时排序过程结束。常用的选择排序有直接选择排序和堆排序两种。堆排序是一种基于完全二叉树的排序。 二、直接选择排序 1.直接选择排序 阅读全文
posted @ 2018-07-12 09:00 BigJunOba 阅读(631) 评论(0) 推荐(0)
摘要:一、交换排序的定义 利用交换数据元素的位置进行排序的方法称为交换排序。常用的交换排序方法有冒泡排序和快速排序算法。快速排序算法是一种分区交换排序算法。 二、冒泡排序 1.冒泡排序的定义 冒泡排序(Bubble Sort)是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没 阅读全文
posted @ 2018-07-11 20:42 BigJunOba 阅读(726) 评论(1) 推荐(1)
摘要:一、排序的基本概念 假设含有n个记录的序列为{r1,r2,...,rn},其相应的关键字分别为{k1,k2,...,kn},需确定1,2,...,n的一种排列p1,p2,...,pn,使其相应的关键字满足kp1≤kp2≤...≤kpn非递减(或非递增)关系,及时地序列称为一个按关键字有序的序列{rp 阅读全文
posted @ 2018-07-11 17:16 BigJunOba 阅读(1140) 评论(0) 推荐(0)
摘要:一、散列表查找的基础知识 1.散列表查找的定义 散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。查找时,根据这个确定的对应关系找到给定值key的映射f(key),若查找集合中存在这个记录,则必定存在在f(key)的位置上。 把对应 阅读全文
posted @ 2018-07-10 21:41 BigJunOba 阅读(1111) 评论(0) 推荐(0)
摘要:一、多路查找树的背景 前面所讨论的查找算法都是在内存中进行的,它们适用于较小的文件,而对于较大的、存放在外存储器上的文件就不合适了,对于此类大规模的文件,即使是采用了平衡二叉树,在查找效率上仍然较低。 如果要操作的数据集非常大,大到内存已经没办法处理了,这种情况下,对数据的处理需要不断从硬盘等存储设 阅读全文
posted @ 2018-07-10 11:34 BigJunOba 阅读(1054) 评论(0) 推荐(0)
摘要:一、平衡二叉树的定义 平衡二叉树(Self-Balancing Binary Search Tree或Height-Balanced Binary Search Tree),是一种二叉排序树,其中每一个结点的左子树和右子树的高度差至多等于1。平衡二叉树是一种高度平衡的二叉排序树,即要么是一棵空树,要 阅读全文
posted @ 2018-07-09 22:12 BigJunOba 阅读(684) 评论(0) 推荐(0)
摘要:一、二叉排序树的定义 在静态查找的几种方法中,二分查找具有最高的查找效率,但是由于二分查找要求表中记录按关键字有序,且不能用链表做存储结构,因此,当表的插入、删除操作非常频繁时,为维护表的有序性,需要移动表中很多记录。这种由移动记录引起的额外时间开销,就会抵消二分查找的有限。而二叉排序树不仅具有二分 阅读全文
posted @ 2018-07-05 10:00 BigJunOba 阅读(655) 评论(0) 推荐(0)
摘要:静态查找表有5种查找方法:顺序查找、二分查找、插值查找、斐波那契查找、线性索引查找 一、顺序查找 1.顺序查找的定义 顺序查找(Sequential Search)又叫线性查找,是最基本的查找技术,它的查找过程是:从表中第一个(或最后一个)记录开始,逐个进行记录的关键字和给定值比较,若某个记录的关键 阅读全文
posted @ 2018-07-04 22:09 BigJunOba 阅读(1431) 评论(0) 推荐(0)
摘要:一、查找的基本概念 1.查找(Searching):就是在由一组记录组成的集合中寻找关键字值等于给定值的某个记录,或是寻找属性值符合特定条件的某些记录。若表中存在这样一个记录,则称查找是成功的,此时查找的结果给出整个记录的信息,或指示该记录在查找表中的位置。若表中不存在关键字等于给定值的记录,则称查 阅读全文
posted @ 2018-07-04 18:13 BigJunOba 阅读(1260) 评论(0) 推荐(0)
摘要:一、关键路径的定义 拓扑排序主要为了解决一个工程能否顺序进行的问题,但有时候还需要解决工程完成需要的最短时间问题。 1.AOE网:在一个表示工程的带权有向图中,用顶点表示时间,用有向边表示活动,用边上的权值表示活动的持续时间,这种有向图的边表示活动的网,称为AOE网(Activity On Edge 阅读全文
posted @ 2018-07-03 14:16 BigJunOba 阅读(2322) 评论(0) 推荐(0)
摘要:一、拓扑排序的定义 1.AOV网:在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,称为AOV网(Activity On Vertex Network)。 2.拓扑序列:设G={V,E}是一个具有n个顶点的有向图,V中的顶点序列v1,v2,..., 阅读全文
posted @ 2018-07-03 11:13 BigJunOba 阅读(810) 评论(0) 推荐(0)
摘要:一、最短路径的定义 在网图和非网图中,最短路径的含义是不同的。由于非网图没有边上的权值,所谓的最短路径,其实就是指两顶点之间经过的边数最少的路径;而对于网图来说,最短路径是指两顶点之间经过的边上权值之和最少的路径,并且称路径上的第一个顶点是源点,第二个顶点是终点。显然,非网图可以理解为所有的边的权值 阅读全文
posted @ 2018-07-02 09:15 BigJunOba 阅读(1043) 评论(0) 推荐(0)
摘要:一、最小生成树的定义 一个连通图的生成树是一个极小的连通子图,它含有图中全部的顶点,但只有足以构成一棵树的n-1条边。 在一个网的所有生成树中,权值总和最小的生成树称为最小代价生成树(Minimum Cost Spanning Tree),简称为最小生成树。 构造最小生成树的准则有以下3条: 只能使 阅读全文
posted @ 2018-07-02 09:12 BigJunOba 阅读(1096) 评论(0) 推荐(0)
摘要:图的遍历和树的遍历类似。图的遍历是指从图中的某个顶点出发,对图中的所有顶点访问且仅访问一次的过程。通常有两种遍历次序方案:深度优先遍历和广度优先遍历。 一、深度优先遍历 深度优先遍历(Depth_First_Search),也称为深度优先搜索,简称为DFS。深度优先遍历类似于树的前序遍历。 DFS算 阅读全文
posted @ 2018-07-01 13:49 BigJunOba 阅读(1693) 评论(0) 推荐(0)