- 博客(25)
- 收藏
- 关注
原创 Spark读取Hbase
object WriteHbase { def main(args: Array[String]): Unit = { //获取conf val conf=HBaseConfiguration.create() val tablenamein = args(0) val tablenameout = args(1) //设置读取的表 conf.s
2017-07-20 16:58:24 433
原创 Spark数据读取格式解析
1.文本文件在 Spark 中读写文本文件很容易。当我们将一个文本文件读取为 RDD 时,输入的每一行 都会成为RDD 的 一个元素。也可以将多个完整的文本文件一次性读取为一个 pair RDD, 其中键是文件名,值是文件内容。 在 Scala 中读取一个文本文件12val inputFile = "file:///h
2017-06-02 17:12:24 8784
原创 Spark-mllib特征选择算法
VectorSlicer算法介绍:VectorSlicer是一个转换器输入特征向量,输出原始特征向量子集。VectorSlicer接收带有特定索引的向量列,通过对这些索引的值进行筛选得到新的向量集。可接受如下两种索引1.整数索引,setIndices()。2.字符串索引代表向量中特征的名字,此类要求向量列有AttributeGroup,因为该工具根据Attribute来匹配名字
2017-05-17 14:42:26 1289
原创 Spark-mllib特征转换算法
Tokenization(分词器)算法介绍:Tokenization将文本划分为独立个体(通常为单词)。RegexTokenizer基于正则表达式提供更多的划分选项。默认情况下,参数“pattern”为划分文本的分隔符。或者可以指定参数“gaps”来指明正则“patten”表示“tokens”而不是分隔符,这样来为分词结果找到所有可能匹配的情况。调用:Scala:i
2017-05-17 14:37:05 1472
原创 Spark-mllib特征提取算法
Spark MLlib 提供三种文本特征提取方法,分别为TF-IDF、Word2Vec以及CountVectorizer,其原理与调用代码整理如下:TF-IDF算法介绍:词频-逆向文件频率(TF-IDF)是一种在文本挖掘中广泛使用的特征向量化方法,它可以体现一个文档中词语在语料库中的重要程度。词语由t表示,文档由d表示,语料库由D表示。词频TF(t,,d)是词语t在文档
2017-05-17 12:05:45 724
转载 监督学习(supervised learning)和无监督学习(unsupervised learning)
机器学习的常用方法,主要分为有监督学习(supervised learning)和无监督学习(unsupervised learning)。监督学习,就是人们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有
2017-05-17 10:56:18 1595
转载 用于数据挖掘的分类算法有哪些,各有何优劣?
作者:Jason Gu链接:https://www.zhihu.com/question/24169940/answer/26952728来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。训练集有多大?如果你的训练集很小,高偏差/低方差的分类器(如朴素贝叶斯)比低偏差/高方差的分类器(如K近邻或Logistic回归)更有优势,因为后者容易过拟
2017-05-16 17:03:54 423
原创 逻辑回归算法(二)-----SparkMLlib实现
1.1 逻辑回归算法1.1.1 基础理论logistic回归本质上是线性回归,只是在特征到结果的映射中加入了一层函数映射,即先把特征线性求和,然后使用函数g(z)将最为假设函数来预测。g(z)可以将连续值映射到0和1上。它与线性回归的不同点在于:为了将线性回归输出的很大范围的数,例如从负无穷到正无穷,压缩到0和1之间,这样的输出值表达为“可能性”才能说服广大民众。当然了,把大值压缩
2017-05-16 17:03:04 1165 1
原创 从新闻数据组中提取TF-IDF特征
为了练习特征提取,我将使用一个非常有名的数据集,叫做20 Newsgroups;这个数据集一般用来文本分类。1.分析数据内容查看目录结构和数据结构val sc = new SparkContext("local[2]","TF-IDF") val path = "data/20news-bydate-train/*" val rdd = sc.wholeText
2017-05-16 16:20:54 950
原创 逻辑回归(Logistic)
一、什么是逻辑回归?Logistic回归与多重线性回归实际上有很多相同之处,最大的区别就在于它们的因变量不同,其他的基本都差不多。正是因为如此,这两种回归可以归于同一个家族,即广义线性模型(generalizedlinear model)。这一家族中的模型形式基本上都差不多,不同的就是因变量不同。如果是连续的,就是多重线性回归;如果是二项分布,就是Logistic回归;如果是Poi
2017-05-16 10:15:57 733
原创 Spark特征提取---TF-IDF
词频(Term Frequency,缩写为TF)在一篇文档中出现次数最多的词是----"的"、"是"、"在"----这一类最常用的词。它们叫做"停用词"(stop words),表示对找到结果毫无帮助、必须过滤掉的词。还有长度小于2大于10的,数字也过滤掉,根据词性过滤,留下有实际意义的词。假设我们把它们都过滤掉了,只考虑剩下的有实际意义的词。这样又会遇到了另一个问题,我们可能
2017-05-11 16:37:18 1137
原创 pySpark(一)--创建RDD
我们知道,在Spark中创建RDD的创建方式大概可以分为三种:(1)、从集合中创建RDD;(2)、从外部存储创建RDD;(3)、从其他RDD创建。而从集合中创建RDD,Spark主要提供了两中函数:parallelize和makeRDD。makeRDD函数接收的参数和parallelize完全一致。其实第一种makeRDD函数实现是依赖了parallelize函数的实现
2017-05-08 17:43:53 782
原创 Nutch2.3(二)
/** * Created by topsec on 2017/4/1. */import java.io.*;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.HColumnDescr
2017-04-28 11:13:50 371
原创 Nutch2.3(一)
一:爬取内容存储在Hbase上,需要去hbase解析;二:爬取流程:1)将要爬取的url放到hdfs上2)在nutch的bin目录下运行./nutch inject url路径3)运行./crawl url路径 name 层数好了,已经存放在hbase上了三:打开hbasescan ‘表名’
2017-04-26 16:36:41 265
转载 Spark性能优化:shuffle调优
shuffle调优调优概述 大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占到一小部分而已
2016-10-25 19:52:08 279
转载 Spark性能优化:数据倾斜调优
前言 继《Spark性能优化:开发调优篇》和《Spark性能优化:资源调优篇》讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。1.数据倾斜调优调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多
2016-10-25 19:50:53 425
转载 Spark性能优化:资源调优篇
在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无论是哪种
2016-10-25 19:49:54 364
转载 Spark性能优化:开发调优篇
1、前言 在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业更简单,更省力!
2016-10-25 19:48:44 274
原创 scala数组
scala中的数组比java的数组强大很多 1、定长数组:长度不变的数组Array,如:声明一个长度为10的整形数组,val arr = Array[Int](10);声明并初始化一个字符串数组: val arrStr = Array(“wo”,”cha”,”yo”)。访问数组方式:访问arrStr第一个元素,arrStr(1)即可 2、变长数组(即数组缓冲):java中
2016-10-24 20:45:39 289
转载 递归算法
一、基本概念 递归算法是一种直接或者间接调用自身函数或者方法的算法。Java递归算法是基于Java语言实现的递归算法。递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。递归算法对解决一大类问题很有效,它可以使算法简洁和易于理解。递归算法,其实说白了,就是程序的自身调用。它表现在一段程序中往往会遇到调用自身的那样一种coding策略,这样我
2016-10-08 17:36:08 1176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人