一 eclipse Spark 本地开发调试环境

一 配置JDK8

  1. 详细参考:
    http://jingyan.baidu.com/article/ab69b270c01a4d2ca7189f8c.html

二 配置Maven

  1. 安装maven
    http://jingyan.baidu.com/article/d8072ac45d3660ec94cefd51.html
  2. Maven在Eclipse中的配置
    http://jingyan.baidu.com/article/db55b609a994114ba20a2f56.html

三 配置Hadoop

  1. 不需要实际安装Hadoop,下载插件包即可。
    windows64位平台的hadoop2.6插件包
  2. 解压包到目标文件夹,目标文件夹即Hadoop Home.

四 新建Maven工程

  1. 新建一个maven工程
    http://jingyan.baidu.com/article/375c8e19b5014c25f2a22912.html
  2. 引入Spark 包,在POM.XML 文件中dependencies元素下添加如下元素。
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.11</artifactId>
        <version>2.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
        <version>2.6.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-mllib_2.11</artifactId>
        <version>2.1.0</version>
    </dependency>

五 测试代码

  • 启动Spark代码
//设置hadoop 环境变量,不设置也可以,会有烦人的报错。
System.setProperty("hadoop.home.dir", "E:/drawsky/bin");
SparkSession spark = SparkSession.builder()
    .appName("test")
    .master("local[*]")
    .config("hadoop.home.dir", "E:/drawsky/bin")
    .config("spark.sql.warehouse.dir","E/drawsky/SparkTest/spark-warehouse")
    .getOrCreate();
  • 测试,计算wordCount
 private static void countWords(SparkSession spark) {
        JavaRDD<String> st = spark.sparkContext()
          .textFile("G:/elasticsearch-5.3.2/LICENSE.txt", 1)
          .toJavaRDD();
        JavaPairRDD<String, Integer> out =st
            .flatMap(
                line ->Arrays.asList(line.split(" ")).iterator()
             )
            .groupBy(e -> e)
            .mapValues(x -> {
                    Iterator<String> it = x.iterator();
                    int i = 0;
                    while (it.hasNext()) {
                        it.next();
                        i++;
                    }
                    return i;
                });
        Map<String, Integer> map = out.collectAsMap();
        System.out.println(map.toString());
    }
  • 在Eclipse中直接运行即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值