Win下使用Eclipse开发scala程序配置(基于Hadoop2.7.3集群)

来源:互联网 发布:郑秀晶崔雪莉关系知乎 编辑:程序博客网 时间:2024/05/29 19:51

写在前面

本篇博客讲的是已经在Ubuntu配置好环境,并且scala功能可以正常使用的情况下,在windows下使用eclipse开发scala程序的配置。
Ubuntu下各软件的版本:
Hadoop集群: hadoop-2.7.3
Hive版本: hive-2.1.1
Spark版本: spark-2.1.0-hadoop2.7
Scala版本: scala-2.12.2
关于集群的配置以及这几个软件的安装详见前几篇博客。

一、Scala安装及环境变量配置

Windows下Spark不需要安装,只需要在第三步的时候导入jar包即可。把scala解压到相关目录下,在环境变量中添加scala的bin目录(classpath和path都要添加),在命令提示窗口输出scala验证,输出如下信息说明配置成功:

这里写图片描述

注意:scala依赖java环境,在安装之前使用java、jar、javac、java -version检查java环境是否成功安装配置

二、Eclipse中scala插件安装

打开Eclipse,New –> Install New Software –> 输入相应的镜像地址下载。
scala-2.12.2的镜像地址: http://download.scala-ide.org/sdk/lithium/e46/scala212/stable/site
找到方式:
这里写图片描述

这个过程要等一会,等自动安装好,会提示重启软件,重启即可。

三、新建scala项目及jar包导入

Step1: 打开Eclipse: File –> New –> Other –> Scala Project 创建scala项目
Step2: 导入jar包:
主要是导入spark相关的jar包,将spark-2.1.0-bin-hadoop2.7.tgz解压,将spark-2.1.0-bin-hadoop2.7\jars\文件夹下包全部导入,添加到build path中(右击Project –> Build Path –> Configure Build Path添加)。
注意:jar包添加进去之后,会发现在后续过程中,代码没有错误,但是project左侧下面有红色的查查,这时候需要点击“Scala Library container —> Properties”将scala版本改成2.11.8即可,如下图:
这里写图片描述

Step3: 新建Scala Class

四、程序代码

代码如下:
(本部分包含2个代码,第一个是简单的”Hello World”的代码,用于简单测试下scala配置,和hadoop无关。第二个代码来自于:http://blog.csdn.net/u012592062/article/details/52471297)

代码1:“Hello World”

object SimpleApp {     def main(args: Array[String]) : Unit={      println("Hello Scala!!!")    } }

代码2:“WordCount”

import org.apache.spark.SparkConfimport org.apache.spark.SparkContextobject HDFSExample {  def main(args: Array[String]): Unit = {    System.setProperty("hadoop.home.dir", "E:\\Hadoop\\hadoop-2.7.3");    val path = "hdfs://192.168.163.131:9000/input/scalaTest.txt"  //将此HDFS上文件的路径换成自己的相应的路径    val conf = new SparkConf().setAppName("HDFS Example")    val sc = new SparkContext(conf)    val data = sc.textFile(path, 2).cache()    val numAs = data.filter(line => line.contains("a")).count();  //统计包含字符'a'的单词    val numBs = data.filter(line => line.contains("b")).count();    //统计包含字符'b'的单词    println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))  }}

其中,上述代码中用到的scalaTest.txt内容如下:

aboutsortdownbelieveadoptset betweemabcd

五、运行结果

代码1的运行结果:

这里写图片描述

代码2的运行结果:
在运行之前,需要右击代码编辑框 –> Run as –> Run Configurations –> Arguments配置如下内容:
这里写图片描述

运行结果如下:

这里写图片描述


推荐:
http://blog.csdn.net/xummgg/article/details/50651867
这篇博客上有一个关于wordcount的例子,注释比较清楚,亲测有效(但是文章中web端口我的是8080。输出会显示在DOS窗口中,因为代码中没有将其存储在文件中),感谢博主辛勤付出。注意:在Hadoop集群上运行jar包的时候,只启动hadoop的所有进程是不够的,需要进入$SPARK_HOME/sbin下使用start-all.sh开启进程。

阅读全文
0 0
原创粉丝点击