自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 设计模式之适配器模式

适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。 类适配器:package com.demo.model.adaptor;public class AdaptorModel { static class Adaptee{ public void spec

2017-07-13 10:03:42 243

原创 spark源码解析 spark-core之rpc

最近在看spark-2.1.1的源码,感觉还是有必要记录下,ok 废话就不说了。 自从1.6之后spark rpc的默认实现由原来的akka被netty所替代。netty基于消息发挥作用,并且多地用于网络。 它的核心是NIO,早起spark就是用netty解决大文件传输问题,netty具有使用各种协议(如HTTP,FTP,SSL等)的许多功能。同时netty所具有的网络通信的可靠性和高效性此外,可

2017-07-09 00:42:00 339

原创 spark mllib之分类和回归

Problem Type Supported Methods 二分类: 线性SVM(inear SVMs,), 罗辑回归(logistic regression), 决策树(decision trees),随机森林(random forests), 梯度增强树( gradient-boosted trees), 朴素贝叶斯(naive Bayes) 多分类器: 罗辑回归(logi

2017-07-06 14:44:44 494

原创 最长公共子序列

一个给定序列的子序列就是该子序列中去掉零个或者多个元素,以形式化的方式就是X={x1,x2……xn},另一个序列Z={z1,z2….zn}是X的子序列,如果存在X的一个严格递增下标序列,(i1,i2…in)使得对于所有的j=1,2….k有xi=zj,例如Z={BCDB}是X={ABCBDAB}的一个子序列,相应的下标序列为{2,3,5,7}。 给定两个序列X和Y,称序列Z是X和Y的公共子序列,如果

2017-07-05 19:14:17 206

原创 设计模式之原型模式

原型模式是通过复制一个已经存在的实例来返回新的实例,被复制的实例就是我们所称的原型,这个原型是可定制的,原型模式多用于创建复杂的或者耗时的实例, 因为这种情况下,复制一个已经存在的实例可以使程序运行更高效,或者创建值相等,只是命名不一样的同类数据.原型模式中的拷贝分为浅拷贝和深拷贝: 浅拷贝: 对值类型的成员变量进行值的复制,对引用类型的成员变量只复制引用,不复制引用的对象. 深拷贝: 对值类型

2017-07-03 22:49:35 177

原创 spark mllib之基本数据统计

colStats()返回一个MultivariateStatisticalSummary的实例,它包含列的最大值,最小值,平均值,方差和非零序数,以及总计数。import org.apache.spark.mllib.linalg.Vectorsimport org.apache.spark.mllib.stat.{MultivariateStatisticalSummary, Statistic

2017-07-03 12:35:19 1909

原创 设计模式之建造者模式

建造者模式有点类似建房子,有一个固定的流程,即将一个复杂对象的构造和他的表示分离,使得同样的构造过程可以创建不同的表示。  建造者模式的角色定义,在建造者模式中存在以下4个角色:   1 builder:为创建一个产品对象的各个部件指定抽象接口。   2 ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并提供一个检索产品的接口。

2017-07-03 11:00:19 206

原创 spark mllib之Extracting, transforming and selecting fea

提取,转换和选择功能 本节介绍使用功能的算法,大致分为以下几类:提取:从“原始”数据中提取特征 转换:缩放,转换或修改功能 选择:从较大的一组特征中选择一个子集 局部敏感哈希(LSH):这类算法将特征变换与其他算法相结合。Feature Extractors TF-IDF:是文本挖掘中广泛使用的特征向量化方法,以反映语料库中文档的术语的重要性。 用tt表示术语,dd表示文件,DD表示语料库

2017-07-02 23:46:05 182

原创 spark mllib之Pipelines

管道中的主要概念 DataFrame 管道组件 transformers estimator 管道组件的属性 管道 怎么运行的 细节 参数 储存和装载管道 代码示例 示例:estimator,transformer和参数 示例:管道 型号选择(超参数调整)管道中的主要概念MLlib将机器学习算法的API标准化,以便将多种算法更容易地组合成单个流水线或工作流程。本节介绍了P

2017-07-02 23:37:50 420

原创 java wait notify notifyAll and 多线程顺序打印ABCD

wait()?notify()?notifyAll()? wait() : It tells the calling thread to give up the lock and go to sleep until some other thread enters the same monitor and calls notify(). The wait() method releases the

2017-07-02 03:01:56 638

原创 spark mllib之基本数据类型

spark mllib支持较多的数据类型,从最基本的数据集RDD到部署到集群的向量和矩阵,mllib的基本数据类型如下: 类型名称 释义 local vector:本地向量集,向spark提供可操作的数据集 labeled point:向量标签,让用户能够分类不同的数据集合 local matrix :本地矩阵,将数据集合以矩阵的形式存储在本地计算机 distributed m

2017-06-29 10:50:37 1183

原创 设计模式之单例模式

单例的作用是保证整个application的生命周期中,在任意一个时刻只存在一个,分为两种模式: 1.饿汉模式 在类加载的时候对象就已经存在public class Singleton { private static Singleton singleton = new Singleton(); public Singleton(){} public Singleton ge

2017-06-28 23:01:07 187

原创 设计模式之抽象工厂模式

普通工厂模式下比较重度依赖工厂类,如果想拓展功能则必须对工厂类进行修改,则抽象工厂应运而生,该模式下新建多个工厂类,这样一旦增加功能则只需要增加新的工厂类就ok了,代码如下package com.demo.stragetry;import org.apache.hadoop.classification.InterfaceAudience.Public;import com.sun.corba.se

2017-06-28 22:34:41 223

原创 设计模式子普通工厂模式

在需要不同的条件产生具有多态性质的一组类时,可以考虑使用工厂类来生成. 优点就是职责简单实现单一,实现具体代码和实现解耦,工厂类则是关键里面包含了具体的逻辑判断,缺点也很明显就是如果产品类多的话一堆逻辑判断还是比较恶心的。看示例代码package com.demo.stragetry.public class FactoryTest { static interface Operatio

2017-06-28 10:34:52 257

原创 spark mllib 决策树算法

该样例取自spark高级数据分析第四章的内容,数据集来自http://t.cn/ R2wmIsI,包含一个 CSV 格式的压缩数据文件 covtype.data.gz,附带一个描述数据文件的 信息文件 covtype.info spark mllib将特征向量抽象为LabeledPoint,它由一个包含多个特征值的Spark MLlib Vector 和一个称为标号(label)的目标值组成。该目

2017-06-28 00:05:11 508

原创 spark mllib 之音乐推荐

首先该例子取自spark高级数据分析第二章的样例原始数据集来自http://www-etud.iro.umontreal.ca/~bergstrj/audioscrobbler_data.html 主要包括三个文件: 主要的数据集在文件user_artist_data.txt中,它包含141 000个用 户和 160 万个艺术家,记录了约 2420 万条用户播放艺术家歌曲的信息,其中包括播放次数信

2017-06-27 23:56:32 1308

原创 单链表的相关操作

1.单链表的反转 在这里实现一种最简单的链表反转的方法,递归反转,在反转当前借点之前先反转后续的节点,这样层层深入直到最后一个子节点。package com.weibo.linkedlist;public class ReverseNode { static class ListNodes { int key; ListNodes next;

2017-06-27 23:38:13 174

原创 设计模式之装饰器模式

在传统面向对象的软件设计上经常会遇到一些个问题,对一个类或者对象增加功能,一般两种方式实现包括抽象类和接口,抽象类主要适用于”是不是”,而接口则是用于”有没有”,好比如人和老师学生这种属于同一类,都是人则比较适合抽象类来实现。再好比如飞机和鸟不是同一类但是他们有共同的特性fly()则比较适合使用接口来实现。子类通过继承父类的方法同时获取父类的方法和子类自身方法,但是这个方法是静态的,用户不能控制增加

2017-06-27 23:13:41 268

原创 mapreduce 统计流量

流量统计,第一列为用户手机号,第二列为上行流量,第三列为下行流量,ok 问题来了 根据用户统计用户上行和下行流量1363157985066,2481,246811363157995052,264,01363157991076,132,15121363157995052,240,01363157993044,1527,21061363157995074,4116,1432136315799

2017-06-26 15:17:56 374

原创 设计模式之观察者模式

观察者模式是对象的行为模式,又被称作为发布-订阅模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,在主题对象发生改变时能够自动更新。 观察者模式所涉及的角色有:  1.抽象主题(Subject)角色:抽象主题角色把所有对观察者对象的引用保存在一个聚集(比如ArrayList对象)里,每个主题都可以有任何数量的观察者。抽象主题提供一个接口,可以增加和删除观察者对象,抽象主

2017-06-25 21:54:29 218

转载 设计模式

设计模式分为三大类: 1.创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式 2.结构型模式:适配器模式、装饰器模式、代理模式、外观模式、桥梁模式、组合模式、享元模式 3.行为模式:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式 其实还有两类:并发型模式和线程池模式

2017-06-25 21:43:14 163

原创 常见海量数据问题

数据topN的问题解决方式有很多: 1.如果数据比较均匀的话,可以先分桶,再对再大的一个桶做归并或者堆排序 mapreduce 实现topNpackage com.demo.math;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hado

2017-06-25 17:20:58 215

原创 mapreduce 统计PV UV

在互联网环境下,一般网站都需要堆网站的pv,uv进行数据统计,简单理解下pv 就是url被访问的次数,uv则是url被不同ip访问的次数,ok 问题来了,一个文本日志,数据格式为:data,url,ip 现在需要使用mr对这份数据按天统计每个url链接的pv和uv。 数据如下:20150405,url1,ip120150405,url2,ip120150405,url1,ip22015040

2017-06-25 17:04:52 4020 1

原创 排序 归并排序+快排

import java.util.Arrays;import org.stringtemplate.v4.compiler.STParser.template_return;public class GuibingSort { public static int[]sort(int[] array,int low,int high){ int mid = (low+high)

2017-06-13 16:35:15 182

原创 排序 堆排序

public class HeapSort { static class ArrayUtils { public static void printArray(int[] array) { System.out.print("{"); for (int i = 0; i < array.length; i++) {

2017-06-13 12:21:19 186

原创 归并排序 单链表

package com.demo.linkedlist;public class GuibingSortList {static class Node { public Node next; public int val;}public static Node merge(Node a, Node b) { Node dummyHead, c...

2017-06-13 12:08:49 256

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除