【Spark】Windows运行本地spark程序——JAVA版本

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sdut406/article/details/87898908

说明

为了运行spark程序我搭建了一个虚拟机的集群,但是我8G的内存被吃满了。。。别说跑个程序,就是基本运行都卡的不行。。。。。最后,我突然知道的本地也是可以运行spark的,,,,,唉 费虚拟机呢么大劲干嘛。。。。
SO,如果你只是学习spark的基础知识,本地完全够用。还快速!!!!

搭建Windows的spark环境

  1. 下载hadoop 地址:http://archive.apache.org/dist/hadoop/core/ 各个版本都有,我下载的2.7.1
  2. 下载winutils 地址:https://github.com/steveloughran/winutils 这个是一个大神做的
  3. java的版本1.7+
    下载的hadoop解压到一个目录即可,然后把下载的winutils的bin目录 复制到hadoop的bin目录,如果提示文件已存在,直接覆盖!
    注意:一定要版本对应!!!!
    在这里插入图片描述

运行spark

环境搭建好我们就可以运行spark的代码了,

  1. 搭建maven的java项目,在pom.xml添加
 <dependency>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-core_2.11</artifactId>
     <version>2.2.1</version>
 </dependency>
  1. 示例代码:
 // 指定hadoop的目录
 System.setProperty("hadoop.home.dir","F:\\hadoop-2.7.1");

 SparkConf conf = new SparkConf().setMaster("local").setAppName("TestSpark");
 JavaSparkContext sc = new JavaSparkContext(conf);


 JavaRDD<Integer> intRDD = sc.parallelize(Lists.newArrayList(1,2,3,4,5));

 JavaRDD<Integer> relRDD = intRDD.map(new Function<Integer, Integer>() {
     public Integer call(Integer integer) throws Exception {
         return integer+10;
     }
 });
 relRDD.foreach(new VoidFunction<Integer>() {
     public void call(Integer integer) throws Exception {
         System.out.println("relRDD---->:"+integer);
     }
 });
  1. 结果:
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sdut406/article/details/87898908