加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数据分析之Spark初步——从安装到Demo

发布时间:2020-12-14 02:28:44 所属栏目:大数据 来源:网络整理
导读:摘要: Spark 是公司当前使用的大数据分析工具之一,这里就来初步的了解下 的应用。 在本文中,首先对 及其依赖工具进行安装和配置,并配置使得能够在 IDEA 下进行程序的开发。 文章最后使用 开发一个《使用 Kmeans 算法求解鸢尾花》的大数据分析程序。 ----


摘要:

Spark是公司当前使用的大数据分析工具之一,这里就来初步的了解下的应用。

在本文中,首先对及其依赖工具进行安装和配置,并配置使得能够在IDEA下进行程序的开发。

文章最后使用开发一个《使用Kmeans算法求解鸢尾花》的大数据分析程序。

-----------------------------------------------------------------------------------------------------------------------------------------



  学习Scalaemmmmmmm.....Why?

  看来自网上的摘录

Spark主要的编程语言是Scala,选择Scala是因为它的简洁性(Scala可以很方便在交互式下使用)和性能(JVM上的静态强类型语言)。Spark支持Java编程,但对于使用Java就没有了Spark-Shell这样方便的工具,其它与Scala编程是一样的,因为都是JVM上的语言,ScalaJava可以互操作,Java编程接口其实就是对Scala的封装。”

“”

学不学,就看自己了。


说在前面,以下要学到ScalaSBT,内容虽然很多,但很好理解。因为创造Scala语言的人本身就来自于Java团队,所以记住一点就成:Scala对应JavaSBT对应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.0IDEA中安装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成功时,创建withsbtscala项目时,会在项目的根目录下出现sbt.xml文件,来做包管理。

  接下来我们看下在IDEA中编写程序有多方便。

2.1创建一个withoutSBT项目(普通java项目) 

  http://lidrema.blog.163.com/blog/static/20970214820146312260633/

  Step1 创建新项目

Step2 左侧选scala,右边选scala,下一步

Step3 输入项目名,SBTversionScalaversion应该是有的,没有就选择安装他俩的根目录,点选AutoImport方便编程

Step4项目结构很原始,那么 sbt能不能做到自动创建目录和配置文件呢,答案是:本身不能。但 sbt是一个插件化很彻底东西,可以引入很多功能,包括自动项目目录构建,参考这个网站http://unmi.cc/sbt-np-create-folders-build-sbt/ 以及这个软件 https://github.com/softprops/np。但因为构建目录本来不麻烦,在IDEA中也可以节省很多步骤,我们且用手动构建的方式。SBT推荐的Scala项目结构是


  Step5src/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项目下,不能用SBTScala程序进行编译,而是用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-meansScala代码见 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 ...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读