- 博客(70)
- 收藏
- 关注

原创 用Java 实现简单的推荐系统
package recommender;import java.util.Arrays;/*** Created by legotime*/public class recommendTest { public static void main(String[] args) { String person1 = "dog cate pen ca...
2017-03-28 19:17:36
18088
3
原创 flink扫盲-DataStream中数据源API实验
文章目录直接输入形式fromElementsfromCollectionSocket形式文件形式自定义形式下面针对DataStream中数据流向API的数据源进行实验直接输入形式fromElementsstep1:编写程序ElementsInput.javapackage org.myorg.quickstart;import org.apache.flink.streaming....
2019-01-06 22:02:45
1179
原创 flink扫盲-DataStream中数据流向API理解
文章目录基本信息数据源x从何而来?直接输入形式Socket形式文件形式自定义的方式处理规则f(x)有哪些?(transformations)数据y可以存放何处(Data sinks)实验环境附录pom.xml文件搭建环境然后运行完 helloworld 实验之后,接下来我们就要聊聊flink的数据处理了。对于数据处理,我们可以从人人都熟悉的函数关系式y = f(x)开始聊起。单从函数关系式来讲:...
2019-01-05 23:20:40
1699
原创 flink扫盲-实验环境搭建与入门
flink扫盲-实验环境搭建与入门写作缘由flink 入门实验更多配置信息写作缘由从flink的Github 介绍我们可以得到如下信息:Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities.可以看出,它主推的两个...
2019-01-05 23:07:15
1155
原创 spark应用(三)文本分类
一、特征提取1、什么是特征提取? 对某一模式的组测量值进行变换,以突出该模式具有代表性特征的一种方法(百度百科)。或者参考多方面的解释:http://www.igi-global.com/dictionary/feature-extraction/10960特征提取简单来说就是从一堆数据中,提取数据,并变成我们熟悉的数据形式(比如从图片中提取像素点,并变成RGB数字
2017-03-08 13:48:04
4080
1
原创 Spark应用(二) 二次排序
二次排序就是对按照从左往右,从上往下排好序数据:c,18,1956a,20,1356d,5,1956f,18,1256h,3,2956c,18,2008y,8,956a,18,1956并保存为mySec.txt,放入HDFS如下:需求1需求,排序完如下:(a,18,1956)(a,20,1356)(c,18,1956)(c,18,2008)(d,5,
2017-03-08 13:47:00
632
原创 Spark应用(一)提取RDD内部信息和信息放入RDD
提取RDD内部信息 对于提取RDD内部信息有的人或许认为是一件非常简单的事情,“直接foreach操作不就行了?”。如果RDD不是为了分布式式计算。那么這样的逻辑就完全可以。直接在外部顶一个可变量A,然后遍历RDD,A放入RDD遍历逻辑中,遍历完之后,就可以提取RDD内部的信息。但是RDD是为分布式而设计,也就是说,你這样的逻辑放在一个分布式中就行不通了。下面看一个例子im
2017-03-08 13:46:00
4509
原创 SparkSQL和Hive自定义函数对比
一、UDFUDF(User-Defined Function),指的是一个输入,一个输出Hive环境下1、准备数据Michael, 29Andy, 30Justin, 192、上传HDFS
2017-02-10 16:41:39
1652
原创 基于RDD解决大矩阵问题
import breeze.linalg.{DenseMatrix, DenseVector}import org.apache.spark.rdd.RDD/** * Created by legotime */case class MatrixEntry(i: Long, j: Long, value: Double)case class VectorEntry(i: L
2016-10-28 18:04:54
1157
原创 用scala来写mapreduce做数据去重
1、数据准备file1数据:mapperreducebyscalafile2数据:scaladoneit2、程序import java.io.IOExceptionimport java.lang.Iterableimport org.apache.hadoop.conf.Configurationimport org.apache.hadoop.
2016-10-16 19:31:08
2820
原创 spark源码阅读笔记Dataset(三)structField、structType、schame
1、structField源码结构:case class StructField( name: String, dataType: DataType, nullable: Boolean = true, metadata: Metadata = Metadata.empty) {}-----A field inside a StructTypen
2016-09-23 21:13:17
21844
2
原创 spark源码阅读笔记Dataset(二)Dataset中Actions、function、transformations
package Datasetimport org.apache.spark.sql.{DataFrame, Dataset, SparkSession}/** * Created by legotime */object dataSetOperation { case class Person(name: String, age: Long) val sparkSes
2016-09-17 13:19:12
3697
原创 spark源码阅读笔记Dataset(一)初识Dataset
1、Dataset 是什么本质上,Dataset在源码中是一个类(和RDD不同,Dataset为非抽象类),其中有三个参数class Dataset[T] private[sql]( @transient val sparkSession: SparkSession, @DeveloperApi @transient val queryExecution: QueryExe
2016-09-17 12:58:46
4591
原创 scala中 toString和apply的区别
class legotime{ def apply = "this is apply method" /** * 1 :scala中的toString和java中的toSting 一样------所有的对象都有這个方法, * 因为toString 是 java中object的方法,而全部的类都是继承于Object這个类 * 2: java中的toString是
2016-08-29 21:19:13
2200
原创 scala之case class 和case object
--------------------1、case 类只用来修饰 class 和object,也就是说只有case class 和case object的存在 ,而没有case trait 这一说2、case object A 这个A 是经过序列化的,而 case class A 没有经过序列化3、
2016-08-26 14:45:20
8781
原创 scala之正则表达式(二)内部匹配函数
1、scala处理正则表达式步骤以下面表达为例:val dateP1 = new scala.util.matching.Regex("""(\d\d\d\d)-(\d\d)-(\d\d)""", "year", "month", "day")图1:提取匹配信息在上面的基础上我们在来做一些事情,如下:val terday = "terday is 2016-8-2"
2016-08-02 20:30:28
4052
原创 scala之正则表达式(一)基础匹配
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。每一次
2016-08-02 20:29:38
24130
原创 SparkStreaming可视化之Wisp
case class Highchart(val series : scala.collection.Traversable[com.quantifind.charts.highcharts.Series], val title : scala.Option[com.quantifind.charts.highcharts.Title] = { /* compiled code */ },
2016-07-25 17:53:38
1954
原创 Spark从外部读取数据之wholeTextFiles
wholeTextFiles函数/** * Read a directory of text files from HDFS, a local file system (available on all nodes), or any * Hadoop-supported file system URI. Each file is read as a single record an
2016-07-11 06:16:03
11373
1
原创 Spark从外部读取数据之textFile
textFile函数 /** * Read a text file from HDFS, a local file system (available on all nodes), or any * Hadoop-supported file system URI, and return it as an RDD of Strings. */ def textFile(
2016-07-11 06:13:46
91565
12
原创 sparkStreamming和高级数据源kafka
对于SparkStreaming+Kafka的组合,有两种方法。Approach 1: Receiver-based ApproachApproach 2: Direct Approach (No Receivers)实例1----KafkaReceive------------------------------------------------------
2016-07-06 07:49:46
1756
原创 SparkStreaming之Accumulators和Broadcast
1、Accumulators和Broadcast基础理解共享变量共享变量目的是将一个变量缓存在每台机器上,而不用在任务之间传递。在SparkCore中经常广播一些环境变量,目的是使得在同一时间集群中的每台机器的环境变量都更新。它的功能是用于有效地给每个节点输入一个环境变量或者数据集副本,這样可以减少通信的开销。這样使得我们在多个任务之间使用相同数据的时候,创建广播变量结合并行处
2016-07-06 07:49:10
4849
原创 SparkStreaming之Output Operations
Output Operation On DStream输出操作允许DStream的数据保存在外部系统中,像数据库或者文件系统。下面是官网给的说明:1、print函数/** * Print the first ten elements of each RDD generated in this DStream. This is an output * oper
2016-07-06 07:48:36
1312
原创 SparkStreaming之窗口函数
WindowOperations(窗口操作) Spark还提供了窗口的计算,它允许你使用一个滑动窗口应用在数据变换中。下图说明了该滑动窗口。如图所示,每个时间窗口在一个个DStream中划过,每个DSteam中的RDD进入Window中进行合并,操作时生成为窗口化DSteam的RDD。在上图中,该操作被应用在过去的3个时间单位的数据,和划过了2个时间单位。这说明
2016-07-06 07:47:50
14852
原创 SparkStreaming之foreachRDD
首先我们来对官网的描述了解一下。DStream中的foreachRDD是一个非常强大函数,它允许你把数据发送给外部系统。因为输出操作实际上是允许外部系统消费转换后的数据,它们触发的实际操作是DStream转换。所以要掌握它,对它要有深入了解。下面有一些常用的错误需要理解。经常写数据到外部系统需要创建一个连接的object(eg:根据TCP协议连接到远程的服务器,我们连接外部数据库需要自己的句柄
2016-07-06 07:47:22
21944
原创 SparkStreaming之DStream operations
Transformations on DStreams 和RDDs一样,各种转换允许数据从inputDstream得到之后进行各种改造。DStreams支持各种转换,他们是基于Spark的RDD的,一些常规的转换如下:但是和和RDD有点区别,那就是DStream是内部含有多个RDD,它是用HashMap接受流进来的RDDprivate[strea
2016-07-06 07:46:44
1225
原创 SparkStreaming之基本数据源输入
输入DStreams表示从数据源获取的原始数据流。Spark Streaming拥有两类数据源(1)基本源(Basic sources):这些源在StreamingContext API中直接可用。例如文件系统、套接字连接、Akka的actor等。(2)高级源(Advanced sources):这些源包括Kafka,Flume,Kinesis,Twitter等等。1、基本数据
2016-07-06 07:45:47
10664
4
原创 SparkML之推荐算法(一)ALS
ALS(alternating least squares ):交替最小二乘法---------------------------------------------------------------------原理应用Matlab 主成分分析应用alsSpark源码SparkML实验-------------------------------------------
2016-07-06 07:45:01
25320
4
原创 SparkML之特征提取(二)词项加权之DF-IDF
词项加权(Term Weighting)的目的是给分词后的词语加上权重。重要的词项给予更高的权重。那么当我们对文本进行检索的时候。比如当我们在淘宝购物,输入“那本语义分析类的书最好”,那么我们进行Term Weighting可能是:“那本:0.1,语义分析:0.8,类:0.2,的:0.1,书:0.5,最好:0.4”.那么当有这些权重时,对于突出搜索重点是很有帮助的。最近因强调非结构化数
2016-07-06 07:44:20
4860
原创 SparkML之特征提取(一)主成分分析(PCA)
主成分分析(Principal Component Analysis,PCA), 将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法.--------------------------------------------目录--------------------------------------------------------理论和数据见附录Spark 源
2016-07-06 07:43:39
8005
原创 SparkML之聚类(二)高斯混合模型(GMMs)
1、闲聊在讲高斯混合模型,我们先抛开一切,来一些推导。推导前,假设你认可两个统计学基础的两个定理(1)大数定理(2)中心极限定理联合实际情况就是说,假如我们坐在广州地铁1号线的某个地方进行蹲点1天,记录下地铁全部女性的身高。这一天下来她们的身高的均值和方差。和我们第二天继续第一天的工作得到的均值和方差是接近的。而且服从高斯分布。下面可以证明每个点产生的概率值联合起来为什么是
2016-07-06 07:42:54
6847
原创 SparkML之聚类(一)Kmeans聚类
------------------------------目录--------------------------------------------------Kmeans理论Matlab实现Spark源码分析Spark源码Spark实验-------------------------------------------------------------------
2016-07-06 07:42:20
10223
原创 SparkML之分类(四)决策树
说起树,不得不首先提起的二个人就是Leo Breiman和John Ross Quinlan ,他俩在树這快做了很大的贡献,如果对他所做工作感兴趣的可以访问参考文献[1][5]现在我们抛开一切,从我们最熟悉的分段函数开始,如下函数:函数图像如下:图1:分段函数matlab代码如下:x = -10:0.1:10;y = (-x-2).*(x =-1&x 1);
2016-07-06 07:41:37
5661
原创 SparkML之分类(三)支持向量机(SVM)
一、数学原理支持向量机(SVM)是由Vladimir N. Vapnik和 Alexey Ya. Chervonenkis在1963年提出的。SVM的提出解决了当时在机器学习领域的“维数灾难”,“过学习”等问题。它在机器学习领域可以用于分类和回归(更多信息可以参考文献1)。SVM在回归可以解决股票价格回归等问题,但是在回归上SVM还是很局限,SVM大部分会和分类放在一起。所以本节主
2016-07-06 07:40:49
7217
原创 SparkML之分类(二)logistics回归
前面已经陈述过logistic的理论的了,在此就不赘述了(http://blog.youkuaiyun.com/legotime/article/details/51312393)Logistic 函数(分类时有个名字叫Sigmoid函数)如下:logistic函数早期是用于人口预测的。但随着人们对其的应用扩展,开始慢慢应用于分类问题,而且是神经网络中一个经常使用的过渡函数,图1是将log
2016-07-06 07:40:17
5683
原创 SparkML之分类(一)贝叶斯分类
1.1、贝叶斯定理贝叶斯定理:用来描述两个条件概率之间的关系。比如P(A/B)和P(B/A),那么可以推导: ,我们下图进行进行说明: 假设:,那么有, , :那么有贝叶斯定理公式:1.2、朴素贝叶斯分类器( Naive Bayes Classifi
2016-07-06 07:39:39
6094
原创 SparkML之回归(三)保序回归
在写這篇博客的时候,翻阅了一些互联网上的资料,发现文献[1]写的比较系统。所以推荐大家读读文献[1].但是出现了一些错误,所以我在此简述一些。如果推理不过去了。可以看看我的简述。------------------------------------前言背景:(1)在医学领域药物剂量反应中,随着药物剂量的增加,疗效和副作用会呈现一定趋势。比如剂量越高,疗效越高,剂量越高,毒
2016-07-06 07:38:56
4818
原创 SparkML之回归(二)岭回归和Lasso阐述及OLS,梯度下降比较
岭回归(RidgeRegression)它的上一级称之为Tikhonov regularization,是以Andrey Tikhonov命名的。Lasso(least absolute shrinkage and selection operator)。两者都经常用于病态问题的正规化。在前面部分已经说了,假设我们知道矩阵A和向量b,我们希望找到一个向量x,有:Ax = b标准
2016-07-06 07:38:21
5779
原创 SparkML之回归(一)线性回归
----------------------------目录-----------------------------------------------------------------------线性回归理论-------------------------------------------------------一元线性回归--------------------
2016-07-06 07:36:43
12520
原创 SparkR环境搭建
----------------------------------------step1:安装R------------------------------------------------------sudo apt-get updatesudo apt-get install r-base启动R,界面输入R在界面输入-----------------
2016-06-21 08:44:02
1695
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人