自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 Scala中trait

单基础多实现,但是接口只能包含抽象方法,不能包含字段。 trait可以同时拥有抽象方法和具体方法,而类可以实现多个trait。做接口使用的traittrait Logger{ def log(msg:String) //抽象方法}不需要将方法声明为abstract—trait中未被实现的方法默认就是抽象的。在重写trait的抽象方法时候不需要给出override关键字class Co

2017-12-17 17:07:06 605

原创 Scala中继承

扩展类Scala扩展类的方式与Java一样—使用extends关键字class Employee extends Person{ var salary=0.0 ...}与Java中一样,你可以将类声明为final,这样它就不能被扩展。还可以将单个方法或字段声明为final,以确保它们不能被重写。重写方法在Scala中重写一个非抽象方法必须使用override修饰符。public c

2017-12-17 16:32:29 346

原创 Scala中类private

类中属性没有修饰符,默认publicclass Counter{ var value=0 def increment(){value+=1;println("hello world")} def isLess(other:Counter)=value<other.value //def current=value}val n=new Counterval n1=new Cou

2017-12-17 15:13:53 3465 1

原创 统计学习方法(二)

感知机 感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机预测是用学习得到的感知机模型对新的输入实例进行分类,是神经网络与支持向量机的基础。感知机模型假设输入空间(特征空间)是 X⊆Rn\boldsymbol X \subseteq R^n,输出空间是Y={+1,−1}\boldsymbol Y =\{+1,-1\},输入 x∈X表示实

2017-12-17 12:22:19 283

原创 统计学习方法(-)

结构风险(Structural risk minimization,SRM)是为了防止过拟合而提出来的策略,结构风险最小化等价于正则化(regularization)。在经验风险上加上表示模型复杂度的正则化项(regularizer)或罚项(penalty term)。在假设空间、损失函数以及训练集确定的情况下,结构风险的定义是 Rsrm(f)=1N∑i=1NL(yi,f(xi))+λJ(

2017-12-16 23:50:46 372

原创 Java中HashMap

HashMap可以接收null键值,而HashTable不能。HashMap存储的是键值对HashMap是基于hash的原理的,我们使用put(key,value)存储对象到HashMap中,使用get(key)从HashMap中获取对象。当我们给put()方法传递键值对时候,我们先对键调用hashCode()方法,返回的hashCode用于找到bucket位置来存储Entry对象。HashM

2017-12-13 15:09:23 232

原创 Spark操作数据库

val conf=new SparkConf().setAppName("JdbcRDDDemo").setMaster("local[2]")val sc=new SparkContext(conf)def getConnection()={ Class.forName('com.mysql.jdbc.Driver').newInstance() DriverManager.g

2017-12-12 21:39:32 352

原创 (二)模型评估与选择

错误率:m个样本中有a个分类错误,则错误率E=a/m;精度1-a/m;误差实际预测输出与样本真实输出之间的差异称为误差,学习器在训练集上的误差称为‘训练误差’或者‘经验误差’,在新样本上的误差称为‘泛化误差’(generalization error)。显然我们希望得到泛化误差小的机器。过拟合与欠拟合过拟合:学习器把训练样本学的太好,很可能把训练样本本身的特点当做了所有潜在样本都具有的一般性

2017-12-12 21:24:39 504

原创 IDEAJ中Scala打包提交Spark集群运行

最简单一个demo //读取hdfs,然后写入hdfspackage com.spark.FirstAppimport org.apache.spark.SparkContextimport org.apache.spark.SparkConfobject WordCountTest { def main(args: Array[String]) { val inputFile =

2017-12-11 22:27:33 1185

原创 Spark中错误

解决方法:在/etc/hosts/中添加 127.0.0.1 localhost

2017-12-11 22:23:50 521

原创 Spark语法

=>:scala中表示匿名函数line=>line.size:表示以=>操作符左边的部分作为输入,对其执行一个函数,并以=>操作符合右边代码执行结果为输出。此处表示以line为输入,line.size执行结果作为输出。 string=>int:将string对象映射为int。count:返回RDD中记录数目RDD缓存策略Spark最强大的功能之一就是把数据缓存在集群的内存中。Saprk广播变量和累

2017-12-11 00:07:53 1552

原创 Spark编译安装

1.下载并安装maven 2.安装protubuf(需要解决依赖yum install -y gcc gcc-c++ make) 3.解压安装protobuf tar zxvf protubuf-2.5.0.tar.gz -C /usr/local/src/ cd /usr/local/src/protobuf-2.5.0 ./configure –prefix=/usr/local/pr

2017-12-10 22:09:52 347

原创 Spark基础

Driver与WorkerDriver与Worker是两个重要角色。Driver程序是应用逻辑执行的起点,负责作业的调度,即Task任务的分发,而多个Worker用来管理计算节点和创建Executor并行处理任务。在执行阶段,Driver会将Task和Task所依赖的file和jar序列化后传递给对方的worker机器,同时Executor将对应数据分区的任务进行处理。Block-Manager管理

2017-12-10 17:55:50 295

原创 Spark中算子

Value型Transformation算子处理数据类型为Value型的Transformation算子可以根据RDD变换算子的输入分区与输出分区关系分为以下几种类型1.输入分区与输出分区一对一型2.输入分区与输出分区多对一型3.输入分区与输出分区多对多4.输出分区为输入分区子集型5.还有一种特殊的输入与输出分区一对一的算子类型:Cache型,对RDD分区进行缓存。1.输入分区与输出分区

2017-12-10 17:16:10 378

原创 spark算子运算

使用spark-shell进入scala命令行中 ./bin/spark-shell – master spark://centos701:7077 这样才能拿到sc对象。运行sc.textFile(“hdfs://centos701:9000/wc”).flatMap(.split(” “)).map((,1)).reduceByKey(+).sortBy(_._2,false).collec

2017-12-10 13:46:04 579

原创 Spark

Spark目标是为基于工作集的应用(即多个并行操作重用中间结果的应用)提供抽象,同时保持MapReduce及其相关模型的优势特性,即自动容错、位置感知性调度和可伸缩性。每个RDD有5个主要属性 * 一组分片(Partition):即数据集的基本组成单位。对于RDD来说,每个分片都会被一个计算任务处理,并决定并行计算的粒度。 * 一个计算每个分区的函数。每个RDD都会实现compute函数以达到这

2017-12-10 11:00:46 309

原创 Tuple接口

Tuple是Storm中主要数据结构,在Storm发送接收消息过程中,每一条消息都是一个Tuple对象。Storm提供了Tuple的默认实现类TupleImpl。它除了实现Tuple接口外,还实现了Clojure定义的几个接口Seqable、Indexed和IMeta,实现这些接口的目的是为了在Clojure代码中能更好操纵Tuple对象。ack-fail机制: * 1.需要ackfail时候,请

2017-12-09 10:10:08 603

原创 Bolt概述

Bolt是一个组件,以元组作为输入,以生成元组作为输出。当编写Bolt的时候,通常会实现IRichBolt接口。在客户端主机中创建Bolt,序列化到拓扑,并提交到集群中的主控节点。集群启动Worker,反序列化Bolt,准备调用它,然后开始处理元组。prepare():仅在bolt开始处理Tuple之前调用。 execute():处理一个Tuple的输入。继承BaseRichBolt的Bolt类,

2017-12-08 16:31:47 1194

原创 Jps中出现process information unavailable

jps 报process information unavailable解决办法:cd /tmpll删除hsperfdata_{用户名}目录

2017-12-08 10:35:23 810

原创 Storm中拓扑

TopologyBuilder是构建拓扑的类,用于指定执行的拓扑。创建提交拓扑new关键字创建一个TopologyBuilder对象,然后调用setSpout方法设置Spout,接着调用setBolt方法设置Bolt,最后调用createTopology方法返回StormTopology对象给submitTopology方法作为输入参数。//创建TopologyBuilder对象Topolog

2017-12-08 10:13:37 648

原创 Storm基本概念

Spout是计算流的来源。通常在系统中spout从Kestrel、RabbitMQ和kafka等消息队列读取,但是spout还可以生成自己的流或者从某个API读取。 Bolt处理任意数量的输入流,并且产生任意数量的新的输出流。大多数的逻辑计算进入bolt,如功能、过滤、流连接与数据库交互等。 Topology是一个由很多Spout和Bolt构成的网络,网络上每条边代表了一个Bolt订阅的数据流,

2017-12-06 18:14:48 383

原创 Hadoop中WordCount

map()/*** * KEYIN:默认情况下,是mr框架所读到的一行文本的起始偏移量,Long,hadoop中有自己的更精简的序列化接口,不用Long,而用LongWritable * VALUEIN:默认情况下,是mr框架所读到的文本内容, String Text * KEYOUT:用户自定义逻辑处理完成之后输出数据中的key,单词 String * VALUEOUT:用户自定

2017-12-06 10:10:46 374

原创 Hadoop中的Java api

从Hadoop文件系统中读取文件1.通过java.net.URL对象打开数据流,读取数据InputStream in=null;try{ in=new URL('hdfs://host/path').openStream();}finally{ IOUtils.closeStream(in);}2.通过FileSystem API读取数据FileSystem是一个普通的文件系统

2017-12-05 22:35:27 660

原创 storm配置文件

storm.zookeeper.servers:- "centos701"- "centos702"storm.local.dir:”/data/storm”storm的numbus和worker进程需要一个目录来存放一小部分状态数据,如jars、confs等等。我们需要在每台机器上创建这个目录并且赋予响应权限。numbus.host:”centos701”worker节点需要知道哪个机器

2017-12-05 17:19:34 809

空空如也

空空如也

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

TA关注的人

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