Apache Spark MLlib是Apache Spark体系中重要的一块拼图:提供了机器学习的模块。只是,眼下对此网上介绍的文章不是非常多。拿KMeans来说,网上有些文章提供了一些演示样例程序,而这些程序基本和Apache Spark 官网上的程序片断类似:在得到训练模型后,差点儿都没有展示怎样使用该模型、程序运行流程、结果展示以及举例測试数据等部分。

笔者依据Apache Spark官网上的程序片断。写了一个完整的调用MLlib KMeans库的測试程序,并成功在Spark 1.0 + Yarn 2.2
的环境上运行。因为仅为高速体验目的。本程序里面的非常多细节并未被打磨,但相信已可为对Spark MLlib感兴趣的朋友们提供些许入门级帮助。

[A. 程序主要部分]

[B. 測试数据]

[C. 运行]

利用 ${SPARK_HOME}/bin/spark-submit 将程序提交给Yarn去运行。

[D. 结果]

- Console 返回的结果(最后几行):

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2FtaGFja2Vy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

- Yarn Web Console返回的运行结果:

- Yarn Log 中显示 Scala 程序的Output:

[E. 总结]

- 调用 Spark MLlib 库的过程并不复杂

- 利用MLlib KMeans 训练出来的 Model(KMeansModel),能够方便地对新的数据作出分类预測

3 分钟学会调用 Apache Spark MLlib KMeans的更多相关文章

  1. spark mllib k-means算法实现

    package iie.udps.example.spark.mllib; import java.util.regex.Pattern; import org.apache.spark.SparkC ...

  2. Spark MLlib KMeans 聚类算法

    一.简介 KMeans 算法的基本思想是初始随机给定K个簇中心,按照最邻近原则把分类样本点分到各个簇.然后按平均法重新计算各个簇的质心,从而确定新的簇心.一直迭代,直到簇心的移动距离小于某个给定的值. ...

  3. Apache Spark MLlib的简介

    MLlib 是构建在 Spark 上的分布式机器学习库,充分利用了 Spark 的内存计算和适合迭代型计算的优势,将性能大幅度提升.同时由于 Spark 算子丰富的表现力, 让大规模机器学习的算法开发 ...

  4. 使用 Spark MLlib 做 K-means 聚类分析[转]

    原文地址:https://www.ibm.com/developerworks/cn/opensource/os-cn-spark-practice4/ 引言 提起机器学习 (Machine Lear ...

  5. Apache Spark源码走读之22 -- 浅谈mllib中线性回归的算法实现

    欢迎转载,转载请注明出处,徽沪一郎. 概要 本文简要描述线性回归算法在Spark MLLib中的具体实现,涉及线性回归算法本身及线性回归并行处理的理论基础,然后对代码实现部分进行走读. 线性回归模型 ...

  6. KMeans|| in Spark MLLib

    算法跟传统的kmeans的区别主要在于:kmeans||的k个中心的不是随机初始化的.而是选择了k个彼此"足够"分离的中心. org.apache.spark.mllib.clus ...

  7. Spark MLlib聚类KMeans

    算法说明 聚类(Cluster analysis)有时也被翻译为簇类,其核心任务是:将一组目标object划分为若干个簇,每个簇之间的object尽可能相似,簇与簇之间的object尽可能相异.聚类算 ...

  8. Spark MLlib 机器学习

    本章导读 机器学习(machine learning, ML)是一门涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多领域的交叉学科.ML专注于研究计算机模拟或实现人类的学习行为,以获取新知识.新 ...

  9. Spark MLlib - Decision Tree源码分析

    http://spark.apache.org/docs/latest/mllib-decision-tree.html 以决策树作为开始,因为简单,而且也比较容易用到,当前的boosting或ran ...

随机推荐

  1. Linux下的绘图(流程图、UML、mindmap)工具

    http://blog.csdn.net/piyajee/article/details/5902380

  2. Linux设备驱动程序:中断处理之顶半部和底半部

    http://blog.csdn.net/yuesichiu/article/details/8286469 设备的中断会打断内核中进程的正常调度和运行,系统对更高吞吐率的追求势必要求中断服务程序尽可 ...

  3. 快速扫描文本文件,统计行数,并返回每一行的索引位置(Delphi、C#)

    由项目需要,需要扫描1200万行的文本文件.经网友的指点与测试,发现C#与Delphi之间的差距并不大.不多说,列代码测试: 下面是Delphi的代码: //遍历文件查找回车出现的次数 functio ...

  4. logstash gsub替换

    { "message" => "192.168.11.186,192.168.11.187\t48391,3306\tDec 7, 2016 13:26:25.13 ...

  5. Android handler 报错处理Can't create handler inside thread that has not called Looper.prepare()

    问题: 写了一个sdk给其他人用,提供一个回调函数,函数使用了handler处理消息 // handler监听网络请求,完成后操作回调函数 final Handler trigerGfHandler ...

  6. tlplayer for ios V1.1(附上截图)

    此程序UI修改于虎跃在线课堂.所以极其相似. 可以播放网络视频与本地视频,不知道怎么拷贝本地视频到Ipad或iphone上看的朋友,请自己到网上看教程. 支持mms,file,rtsp,rtmp,ht ...

  7. 查看wtmp文件内容

    1./var/log/wtmp文件的作用     /var/log/wtmp也是一个二进制文件,记录每个用户的登录次数和持续时间等信息!   2.查看方法:可以用last命令输出当中内容 1 2 3 ...

  8. [转] ICPC2013 World Finals赛后感

    原文地址:http://blog.sina.com.cn/s/blog_6c7729450101lmll.html Orz... 26号考完最后一科计网,27号准备了一下各种材料,28号凌晨就踏上旅程 ...

  9. GitHub常用 库

    来自: http://www.jianshu.com/p/6475c90e8b4d 网络请求库 https://github.com/AFNetworking/AFNetworking https:/ ...

  10. 【转】Ubuntu安装基础教程

    原文网址:http://teliute.org/linux/Ubsetup/lesson23/lesson23.html 二十三.安装Ubuntu14.04 返回目录 下一课 14.04 版安装与前面 ...