SPARK在linux中的部署,以及SPARK中聚类算法的使用
2015-12-30 13:34
666 查看
眼下,SPARK在大数据处理领域十分流行。尤其是对于大规模数据集上的机器学习算法。SPARK更具有优势。一下初步介绍SPARK在linux中的部署与使用,以及当中聚类算法的实现。
在官网http://spark.apache.org/上直接下载编译好的tar安装包能够加快部署速度。
spark的执行依赖于scala2.10.4,注意此版本号一定要正确,否则spark不能正确执行。
1、scala的安装非常easy。在官网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 = 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("。
。。")
==================================完===================================
在官网http://spark.apache.org/上直接下载编译好的tar安装包能够加快部署速度。
spark的执行依赖于scala2.10.4,注意此版本号一定要正确,否则spark不能正确执行。
1、scala的安装非常easy。在官网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 = 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("。
。。")
==================================完===================================
相关文章推荐
- Linux内核学习中---有关#define LIST_HEAD_INIT(name) { &(name), &(name) }的问题
- 阿里云ECS服务器Linux环境下配置php服务器(一)--基础配置篇
- 鸟哥的Linux私房菜笔记
- LINUX 文件和目录 stat结构
- CentOS 创建SVN 服务器,并且自动同步到WEB 目录
- centos6.5 安装discuz记录
- Linux平台Makefile文件的编写基础篇
- CentOS系列启动流程详解
- Linux C 算法——排序
- linux ls -l 详解
- Linux系统基本知识说明和启动Linux虚拟机
- use-svn-cmd(Linux)
- install VMware tools for linux
- Linux基础
- linux恢复误删除文件-ext3grep
- linux学习考试复习笔记
- centos lvm常用命令
- linux CPU隔离和进程调度优先级设置
- Linux系统下转换文件编码的方法小结
- Android SELinux 一个编译错误