Spark MLlib 入门学习笔记 - 编程环境配置
2017-05-18 18:05
253 查看
配置windows下Spark MLlib的编程环境,实现在windows下用scala开发程序,用小数据集测试验证程序的正确性。少做修改,或者不做修改,然后打包成jar文件,用spark-submit提交到spark集群进行测试。假设已 安装好jdk、scala、IntelliJ IDEA和scala插件。
1. 安装hadoop、spark和hadoop2.6_Win_x64-master
下载 hadoop-2.6.0.tar.gz和spark-1.6.0-bin-hadoop2.6,从github下载hadoop2.6_Win_x64-master.zip(https://github.com/sdravida/hadoop2.6_Win_x64)。创建目录e:\spark,1)将三个文件解压缩到e:\spark目录下,2)将E:\spark\hadoop2.6_Win_x64-master\bin的文件拷贝到E:\spark\hadoop260\bin下面,3)将spark-assembly-1.6.0-hadoop2.6.0.jar文件拷贝到C:\Program
Files (x86)\JetBrains\IntelliJ IDEA 2016.2.5\lib目录下。
2. 配置spark编译环境
启动idea创建scala工程
2. 添加spark-assembly-1.6.0-hadoop2.6.0.jar依赖包
点击File主菜单的Project Structure子菜单,弹出配置界面后选择Libraries,再点"+"号弹出Select Library Files界面,完成选择后,点OK就可以了。
在SparkDiscover目录下创建data目录,并在这个目录下建一个wordcount.txt文件,用作测试。在src目录下创建两级子目录main/scala作为源代码存放目录,然后创建一个名称为basic的package目录和WordCount源文件。
程序中用了两个参数,参数1:提交到本地还是集群,参数2:文件名(本地或者是hdfs),在本地windows 下的运行配置。程序很简单,创建定义、创建上下文、读数据文件、调用flatMap进行处理(空格分割、map计数、reduce将计数相加,最后逐行打印输出)。
运行结果
打包输出,选择菜单File/Project Structure弹出界面后选择Artificts,点击"+" 如下图进行选择,再依次点apply和ok。
点完以后发现,它把所有的包多添加进去了,时间上不需要这么多。把不需要的包删除,结果如下图所示。
build jar包
3. 在spark集群下运行
从out/artifacts/SparkDiscover_jar目录下拷贝SparkDiscover.jar文件到spark集群上,运行一下脚本进行测试。
打印输出被重定向到result.log文件中。运行结果如下。
从界面上可以看到提交的任务,提交两次,界面上也显示了两次。
1. 安装hadoop、spark和hadoop2.6_Win_x64-master
下载 hadoop-2.6.0.tar.gz和spark-1.6.0-bin-hadoop2.6,从github下载hadoop2.6_Win_x64-master.zip(https://github.com/sdravida/hadoop2.6_Win_x64)。创建目录e:\spark,1)将三个文件解压缩到e:\spark目录下,2)将E:\spark\hadoop2.6_Win_x64-master\bin的文件拷贝到E:\spark\hadoop260\bin下面,3)将spark-assembly-1.6.0-hadoop2.6.0.jar文件拷贝到C:\Program
Files (x86)\JetBrains\IntelliJ IDEA 2016.2.5\lib目录下。
2. 配置spark编译环境
启动idea创建scala工程
2. 添加spark-assembly-1.6.0-hadoop2.6.0.jar依赖包
点击File主菜单的Project Structure子菜单,弹出配置界面后选择Libraries,再点"+"号弹出Select Library Files界面,完成选择后,点OK就可以了。
在SparkDiscover目录下创建data目录,并在这个目录下建一个wordcount.txt文件,用作测试。在src目录下创建两级子目录main/scala作为源代码存放目录,然后创建一个名称为basic的package目录和WordCount源文件。
package basic /** * Created by Oliver on 2017/5/13. */ import org.apache.spark.{SparkConf, SparkContext} // "local" // "E:/MyProject/SparkDiscover/data/wordcount.txt" object WordCount { def main(args: Array[String]){ val conf = new SparkConf().setMaster(args(0)).setAppName("WordCount") val sc = new SparkContext(conf) val data = sc.textFile(args(1)) data.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect().foreach(println) } }
程序中用了两个参数,参数1:提交到本地还是集群,参数2:文件名(本地或者是hdfs),在本地windows 下的运行配置。程序很简单,创建定义、创建上下文、读数据文件、调用flatMap进行处理(空格分割、map计数、reduce将计数相加,最后逐行打印输出)。
运行结果
打包输出,选择菜单File/Project Structure弹出界面后选择Artificts,点击"+" 如下图进行选择,再依次点apply和ok。
点完以后发现,它把所有的包多添加进去了,时间上不需要这么多。把不需要的包删除,结果如下图所示。
build jar包
3. 在spark集群下运行
从out/artifacts/SparkDiscover_jar目录下拷贝SparkDiscover.jar文件到spark集群上,运行一下脚本进行测试。
spark-submit --master spark://d-hdp-01:7077 \ --class basic.WordCount \ --executor-memory 1g \ /home/hadoop/_testing/SparkDiscover.jar \ spark://d-hdp-01:7077 \ hdfs://d-hdp-01:9000/user/hadoop.txt > result.log
打印输出被重定向到result.log文件中。运行结果如下。
从界面上可以看到提交的任务,提交两次,界面上也显示了两次。
相关文章推荐
- Spark MLlib 入门学习笔记 - 编程环境配置
- Intel Edison学习笔记(二)—— 入门环境配置
- Ext.net mvc 入门学习笔记(一) 环境配置
- Directx9.0编程笔记学习笔记一(DircectX9.0环境配置)
- 编程小白的第一本 python 入门书 学习笔记01 第二章 安装Python环境
- OOP编程iBatis 学习笔记之- 环境配置及简单例子测试
- CUDA从入门到精通到精通_笔记1:CUDA编程开发环境的配置
- MyBatis For .NET学习笔记[2]:配置环境
- Java 学习笔记 (1) -Java 编程规范 环境变量
- 学习笔记---------------Hibernian3.3.2入门(配置和annotation两种方式)
- PHP学习笔记一---PHP环境配置
- 学习笔记----用configure配置lamp环境
- cocos2d学习笔记(一) cocos2d的基本知识和环境配置
- J2ME学习笔记_1_开发环境的安装和配置
- 学习笔记----linux下编译环境的配置
- Swt学习笔记(1)——配置环境
- java学习笔记一(java环境配置)
- Linux学习笔记(java环境配置included)
- Hbase入门笔记( 二 )-- Hadoop单机环境配置
- Linux操作系统下C语言编程入门学习笔记(...20090601(第一遍学完待整理)...)