码迷,mamicode.com
首页 > 编程语言 > 详细

SPARK在linux中的部署,以及SPARK中聚类算法的使用

时间:2014-11-12 21:21:04      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:spark   scala   kmeans   

目前,SPARK在大数据处理领域十分流行。尤其是对于大规模数据集上的机器学习算法,SPARK更具有优势。一下初步介绍SPARK在linux中的部署与使用,以及其中聚类算法的实现。
在官网http://spark.apache.org/上直接下载编译好的tar安装包可以加快部署速度。
spark的运行依赖于scala2.10.4,注意此版本一定要正确,否则spark不能正确运行。
1、scala的安装很简单,在官网http://www.scala-lang.org上下载安装包,解压到任意路径后,在linux中设置好环境变量后即可使用(编辑profile文件)。
#scala by Ryne 2014.10.27
export PATH=/usr/share/scala-2.10.4/bin:$PATH
在shell里面输入scala可以正确运行即表示安装成功。
2、解压spark安装包后需要修改conf路径下的spark-env.sh文件,在其中配置好java和scala的路径后即可运行。
export SCALA_HOME=/usr/share/scala-2.10.4
export JAVA_HOME=/usr/java/jre1.6.0_45
如果出现编码错误则还需要许改spark-defaults.conf文件,在该文件末尾增加以下内容即可。
spark.io.compression.codec         lzf
全部工作完成后,运行bin/spark-shell即可。
bubuko.com,布布扣
bubuko.com,布布扣
===========================分割线=====================================
spark中的聚类算法为kmeans。
需要导入的模块有
import org.apache.spark.mllib.clustering.KMeans
import org.apache.spark.mllib.linalg.Vectors
读入文件
val data = sc.textFile("your file")
val parsedData = data.map(s => Vectors.dense(s.split(‘ ‘).map(_.toDouble)))
val clusters = KMeans.train(parsedData, numClusters, numIterations, parallRunNums)
即可得到聚类结果。
//聚类中心
val clusterCenters=clusters.clusterCenters
//聚类结果标签
val labels=clusters.predict(parsedData)
//保存结果
labels.saveAsTextFile("。。。")
=============================分割线==================================
如果觉得代码有用,可以支付宝赞助一下,谢谢!
bubuko.com,布布扣
bubuko.com,布布扣
==================================完===================================

SPARK在linux中的部署,以及SPARK中聚类算法的使用

标签:spark   scala   kmeans   

原文地址:http://blog.csdn.net/xuanyuansen/article/details/41049545

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!