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. Java集合类之HashMap

    package com.test; import java.util.*; public class Demo7_3 { public static void main(String[] args) ...

  2. Java程序发展之路

  3. 程序不稳定是因为C++基础不扎实

    最近开发的程序,逻辑上都实现了,但是感觉运行不稳定,程序时不时崩溃(不是逻辑运行不正确),至少找出2个错误: 情况1:char* szRemoteReal = new char[MAX_LENGTH] ...

  4. EqualsBuilder和HashCodeBuilder

    package com.osc.demo; import java.util.List; import org.apache.commons.lang.builder.EqualsBuilder; i ...

  5. Covariance and Contravariance in C#, Part One

    http://blogs.msdn.com/b/ericlippert/archive/2007/10/16/covariance-and-contravariance-in-c-part-one.a ...

  6. WordPress Contact Form 7插件任意文件上传漏洞

    漏洞名称: WordPress Contact Form 7插件任意文件上传漏洞 CNNVD编号: CNNVD-201311-415 发布时间: 2013-11-28 更新时间: 2013-11-28 ...

  7. apache开源项目--gora

    Gora 是一个应用于 NoSQL 数据库的 ORM 框架,支持包括:Apache HBase/Apache Cassandra

  8. C# 获取ttf文件字体名称

    1.第一种方法 using System.Windows.Media; String fontFilePath = "PATH TO YOUR FONT"; GlyphTypefa ...

  9. extjs获得store数据

    var json = new Array(); for (var i = 0; i < storeEditFee.getCount(); i++) { json.push(storeEditFe ...

  10. 安装tcpreplay时报错:configure: error: libdnet not found

    安装tcpreplay时报错configure: error: libdnet not found 解决方法: 下载包libdnet-1.8.tar.gz并安装,依次执行: ./configure m ...