Spark MLlib使用有感
这些天在公司里面做文本分析的任务,我跟着玻哥一起做,先研究了算法的可行度,最后决定使用Google的Word2Vector和LDA算法来对文本进行分析。之前因为看过一些Spark的东西,所以准备瞄准MLlib,直接使用其机器学习库来进行算法的测试。
但是发现一个非常重大的问题——因为Spark默认是将RDD持久到内存中进行计算的,但是当我们加大数据量的时候,由于本集群的内存不是很够,导致每次在进行迭代的时候都出现heap溢出。我追踪了Spark给出的这两个算法的源码,发现是其算法内部给出的每次迭代的结果都以RDD持久在了内存中,导致溢出。
由于本人对于scala语言不是很熟悉,所以将此问题提交至github的spark相关核心成员,但是目前还没给出相应的答复。
得出一个结论,虽然现在的Spark如火如荼,但是其MLlib库在文本分析方面还是非常的鸡肋,暂时不是大数据文本分析的好的选择。
Spark MLlib使用有感的更多相关文章
- Spark MLlib - LFW
		
val path = "/usr/data/lfw-a/*" val rdd = sc.wholeTextFiles(path) val first = rdd.first pri ...
 - 《Spark MLlib机器学习实践》内容简介、目录
		
http://product.dangdang.com/23829918.html Spark作为新兴的.应用范围最为广泛的大数据处理开源框架引起了广泛的关注,它吸引了大量程序设计和开发人员进行相 ...
 - Spark MLlib 之 Basic Statistics
		
Spark MLlib提供了一些基本的统计学的算法,下面主要说明一下: 1.Summary statistics 对于RDD[Vector]类型,Spark MLlib提供了colStats的统计方法 ...
 - Spark MLlib Data Type
		
MLlib 支持存放在单机上的本地向量和矩阵,也支持通过多个RDD实现的分布式矩阵.因此MLlib的数据类型主要分为两大类:一个是本地单机向量:另一个是分布式矩阵.下面分别介绍一下这两大类都有哪些类型 ...
 - Spark MLlib - Decision Tree源码分析
		
http://spark.apache.org/docs/latest/mllib-decision-tree.html 以决策树作为开始,因为简单,而且也比较容易用到,当前的boosting或ran ...
 - Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介
		
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l“机器学 ...
 - Spark入门实战系列--8.Spark MLlib(下)--机器学习库SparkMLlib实战
		
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .MLlib实例 1.1 聚类实例 1.1.1 算法说明 聚类(Cluster analys ...
 - spark mllib配置pom.xml错误 Multiple markers at this line Could not transfer artifact  net.sf.opencsv:opencsv:jar:2.3  from/to central (https://repo.maven.apache.org/maven2):  repo.maven.apache.org
		
刚刚spark mllib,在maven repository网站http://mvnrepository.com/中查询mllib后得到相关库的最新dependence为: <dependen ...
 - Apache Spark源码走读之23 -- Spark MLLib中拟牛顿法L-BFGS的源码实现
		
欢迎转载,转载请注明出处,徽沪一郎. 概要 本文就拟牛顿法L-BFGS的由来做一个简要的回顾,然后就其在spark mllib中的实现进行源码走读. 拟牛顿法 数学原理 代码实现 L-BFGS算法中使 ...
 
随机推荐
- 5G时代
			
电信语音承载在CDMA2G网络--所以2G基本没有网络 网络走fdd4g 如果5G时代来临,4g网络可能就会像3G一样的慢
 - tomcat错误日志监控脚本
			
#!/usr/bin/env python #-*-coding:utf-8-*- #CreateDate:2017/04/14 #Author:Eivll0m #ScriptName:monitor ...
 - Java多线程(一) —— 传统线程技术
			
一.传统线程机制 1. 使用类Thread实现 new Thread(){ @Override public void run() { while(true){ try{ Thread.sleep(2 ...
 - 执行SCP命令拷贝文件失败
			
scp是我最常用的远程文件拷贝工具,今天发现突然不能用了: svan-mac:hive-tools xiean$ scp -Pxx target/urs-hive-tools-jar-with-de ...
 - JAVA     Junit4
			
JAVA Junit4 测试框架 序言 刚学Java的时候就听说过JUnit了,单元测试框架,很好用的测试框架,JUnit测试 ...
 - Bob Waters - Twenty Years
			
We were just children and grown up closeHow we made it this far only god knowsWe bend the rulesSmash ...
 - Java集合类框架的基本接口有哪些?
			
总共有两大接口:Collection 和Map ,一个元素集合,一个是键值对集合: 其中List和Set接口继承了Collection接口,一个是有序元素集合,一个是无序元素集合: 而ArrayLis ...
 - c++11 可变参数模板函数
			
c++11 可变参数模板函数 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #in ...
 - AGC019
			
质量果然挺高的. A 贪心. ll Q,H,S,D,N; int main() { cin>>Q>>H>>S>>D>>N; H=min(H, ...
 - 【HDU4336】Card Collector(Min-Max容斥)
			
[HDU4336]Card Collector(Min-Max容斥) 题面 Vjudge 题解 原来似乎写过一种状压的做法,然后空间复杂度很不优秀. 今天来补一种神奇的方法. 给定集合\(S\),设\ ...