首页 > 代码库 > SPARK在linux中的部署,以及SPARK中聚类算法的使用

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

目前,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即可。


===========================分割线=====================================
spark中的聚类算法为kmeans。
需要导入的模块有
import org.apache.spark.mllib.clustering.KMeans
import org.apache.spark.mllib.linalg.Vectors
读入文件
val data = http://www.mamicode.com/sc.textFile("your file")
val parsedData = http://www.mamicode.com/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("。。。")
=============================分割线==================================
如果觉得代码有用,可以支付宝赞助一下,谢谢!

==================================完===================================

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