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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/quiet_girl/article/details/75796237

Hadoop入门配置系列博客目录一览

1、Eclipse中使用Hadoop伪分布模式开发配置及简单程序示例(Linux下)
2、使用Hadoop命令行执行jar包详解(生成jar、将文件上传到dfs、执行命令、下载dfs文件至本地)
3、Hadoop完全分布式集群安装及配置(基于虚拟机)
4、Eclipse中使用Hadoop集群模式开发配置及简单程序示例(Windows下)
5、Zookeeper3.4.9、Hbase1.3.1、Pig0.16.0安装及配置(基于Hadoop2.7.3集群)
6、mysql5.7.18安装、Hive2.1.1安装和配置(基于Hadoop2.7.3集群)
7、Sqoop-1.4.6安装配置及Mysql->HDFS->Hive数据导入(基于Hadoop2.7.3)
8、Hadoop完全分布式在实际中优化方案
9、Hive:使用beeline连接和在eclispe中连接
10、Scala-2.12.2和Spark-2.1.0安装配置(基于Hadoop2.7.3集群)
11、Win下使用Eclipse开发scala程序配置(基于Hadoop2.7.3集群)
12、win下Eclipse远程连接Hbase的配置及程序示例(create、insert、get、delete)

Hadoop入门的一些简单实例详见本人github:https://github.com/Nana0606/hadoop_example


本篇博客主要介绍“Win下使用Eclipse开发scala程序配置(基于Hadoop2.7.3集群)”。

写在前面

本篇博客讲的是已经在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.SparkConf
import org.apache.spark.SparkContext

object 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内容如下:

about
sort
down
believe
adopt
set betweem
abcd

五、运行结果

代码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开启进程。

展开阅读全文

没有更多推荐了,返回首页