大数据分析之Spark初步——从安装到Demo
摘要: Spark是公司当前使用的大数据分析工具之一,这里就来初步的了解下的应用。 在本文中,首先对及其依赖工具进行安装和配置,并配置使得能够在IDEA下进行程序的开发。 文章最后使用开发一个《使用Kmeans算法求解鸢尾花》的大数据分析程序。 ----------------------------------------------------------------------------------------------------------------------------------------- 学习Scala,emmmmmmm.....Why? 看来自网上的摘录 “Spark主要的编程语言是Scala,选择Scala是因为它的简洁性(Scala可以很方便在交互式下使用)和性能(JVM上的静态强类型语言)。Spark支持Java编程,但对于使用Java就没有了Spark-Shell这样方便的工具,其它与Scala编程是一样的,因为都是JVM上的语言,Scala与Java可以互操作,Java编程接口其实就是对Scala的封装。” “” 学不学,就看自己了。 说在前面,以下要学到Scala和SBT,内容虽然很多,但很好理解。因为创造Scala语言的人本身就来自于Java团队,所以记住一点就成:Scala对应Java,SBT对应maven,连语法都一样。 1.安装Scala(对应java) http://www.linuxidc.com/Linux/2015-04/116455.htm(配置仅对当前用户有效) 来个小程序测试一下 任意有权限的位置新建一个HelloWord.scala文件 >geditHelloWord.scala 填入一下内容 objectHelloWord{ def main(args: Array[String]) = println("HelloWord") } 这里没有写Package,如果写了,编译的时候就会以当前文件夹为主文件夹,按照Package为路径创建一些列文件夹,给编译造成麻烦。 注意大小写敏感 然后在控制台输入 >scalacHelloWord.scala >scalaHelloWord HelloWord Thisis the end of your First Scala Program! 2.在IDEA下编写Scala程序(withDemo) 2.0在IDEA中安装SBT这两个插件,scala在插件库里就可以安装, 安装SBT http://www.scala-sbt.org/download.html 如果下载不下来,下载时要在这个地址上右键链接另存为才能下载下来 安装说明 http://www.bkjia.com/Linuxjc/848202.html 安装最后一步SBT-version要下载很多内容,花很长时间(几小时),去干点别的。 安装Scala插件成功的标志是IDEA支持创建scala项目,具体的表现是在src文件夹下右键有创建“scala类”的选项。安装SBT成功时,创建withsbt的scala项目时,会在项目的根目录下出现sbt.xml文件,来做包管理。 接下来我们看下在IDEA中编写程序有多方便。 2.1创建一个withoutSBT项目(普通java项目) http://lidrema.blog.163.com/blog/static/20970214820146312260633/ Step1 创建新项目 Step2 左侧选scala,右边选scala,下一步 Step3 输入项目名,SBTversion和Scalaversion应该是有的,没有就选择安装他俩的根目录,点选AutoImport方便编程 Step4项目结构很原始,那么 sbt能不能做到自动创建目录和配置文件呢,答案是:本身不能。但 sbt是一个插件化很彻底东西,可以引入很多功能,包括自动项目目录构建,参考这个网站http://unmi.cc/sbt-np-create-folders-build-sbt/ 以及这个软件 https://github.com/softprops/np。但因为构建目录本来不麻烦,在IDEA中也可以节省很多步骤,我们且用手动构建的方式。SBT推荐的Scala项目结构是 Step5在src/main/scala下创建一个ScalaScript(*.scala), 然后将之前的HelloWord程序铁进去,然后在第一行补充一个 Packagescala; Step6 右键,Run“HelloWord” 这里补充一个对build.sbt的说明 地址:使用百度文档搜索 《使用SBT构建Scala应用》
2.2创建一个SBT项目(对应Maven项目)
http://8liang.cn/intellijidea-install-scala-plugin-create-with-sbt-project/ 如果这一步显示NoScala SDK support,则项目右键->AddFreamwork Support->Scala->选中 Scala安装的根目录即可。 可以看一下两者的风格上的不同。注意在withoutSBT项目下,不能用SBT对Scala程序进行编译,而是用IDEA自带的Make程序进行编译。 不建议SBT模式,下载依赖包的时间非常非常的长! 3.安装Spark 安装Spark很简单,这里需要说明两点 1>Spark的安装包不包括Hadoop,需要时要单独安装; 2>单机开发Spark不需要安装Hadoop; 3>单机开发安装Standalone模式。 具体安装参考http://www.voidcn.com/article/p-wwycnosn-k.html 4.BigDemo 在Spark上运行一段Scala语言编写的K-means算法。 K-means,典型的聚类算法,无监督学习算法之一,应用如将一群客户按照属性分成不同的类别,从而划分客户细分 等等。 K-means计算速度快,聚类效果好,是经典常用的聚类算法。 K-means算法见 http://www.csdn.net/article/2012-07-03/2807073-k-means K-means的Scala代码见 http://yuncode.net/code/c_517d4651060e356 准备 下载Iris数据集,这个数据集是测试聚类算法的经典数据集,既有数据也有正确的标注。将链接中的数据拷贝到一个文本文档中,然后将Iris-setosa替换位1,Iris-versicolor替换为2,将Iris-virginica替换为3,1/2/3即为标注,也即正确的分类结果。 http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data Step1 IDEA中新建Scala项目 Step2 新建K-means.scala并敲入代码 Step3 执行 Tobe continued ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |