1、Java下Spark开发环境搭建(from http://www.cnblogs.com/eczhou/p/5216918.html

1.1、jdk安装

安装oracle下的jdk,我安装的是jdk 1.7,安装完新建系统环境变量JAVA_HOME,变量值为“C:\Program Files\Java\jdk1.7.0_79”,视自己安装路劲而定。

同时在系统变量Path下添加C:\Program Files\Java\jdk1.7.0_79\bin和C:\Program Files\Java\jre7\bin。

1.2 spark环境变量配置

去http://spark.apache.org/downloads.html网站下载相应hadoop对应的版本,我下载的是spark-1.6.0-bin-hadoop2.6.tgz,spark版本是1.6,对应的hadoop版本是2.6

解压下载的文件,假设解压 目录为:D:\spark-1.6.0-bin-hadoop2.6。将D:\spark-1.6.0-bin-hadoop2.6\bin添加到系统Path变量,同时新建SPARK_HOME变量,变量值为:D:\spark-1.6.0-bin-hadoop2.6

1.3 hadoop工具包安装

spark是基于hadoop之上的,运行过程中会调用相关hadoop库,如果没配置相关hadoop运行环境,会提示相关出错信息,虽然也不影响运行,但是这里还是把hadoop相关库也配置好吧。

1.3.1 去下载hadoop 2.6编译好的包https://www.barik.net/archive/2015/01/19/172716/,我下载的是hadoop-2.6.0.tar.gz,

1.3.2 解压下载的文件夹,将相关库添加到系统Path变量中:D:\hadoop-2.6.0\bin;同时新建HADOOP_HOME变量,变量值为:D:\hadoop-2.6.0

1.4 eclipse环境

直接新建java工程,将D:\spark-1.6.0-bin-hadoop2.6\lib下的spark-assembly-1.6.0-hadoop2.6.0.jar添加到工程中就可以了。

2、Java写Spark WordCount程序

package cn.spark.study;

import java.util.Arrays;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.FlatMapFunction;
import org.apache.spark.api.java.function.Function2;
import org.apache.spark.api.java.function.PairFunction;
import org.apache.spark.api.java.function.VoidFunction;

import scala.Tuple2;

public class WordCount {
    public static void main(String[] args) {
        
        //创建 SparkConf对象,对程序进行必要的配置
        SparkConf conf = new SparkConf()
        .setAppName("WordCount").setMaster("local");
        
        //通过conf创建上下文对象
        JavaSparkContext sc = new JavaSparkContext(conf);
        
        //创建初始RDD
        JavaRDD<String> lines = sc.textFile("D://spark.txt");
        
        //----用各种Transformation算子对RDD进行操作-----------------------------------------
        JavaRDD<String> words = lines.flatMap(new FlatMapFunction<String, String>() {

private static final long serialVersionUID = 1L;

@Override
            public Iterable<String> call(String line) throws Exception {
                // TODO Auto-generated method stub
                return Arrays.asList(line.split(" "));
            }
        });
        
        JavaPairRDD<String,Integer> pairs = words.mapToPair(new PairFunction<String, String, Integer>() {

private static final long serialVersionUID = 1L;

@Override
            public Tuple2<String, Integer> call(String word) throws Exception {
                // TODO Auto-generated method stub
                return new Tuple2<String,Integer>(word,1);
            }
        });
        
        JavaPairRDD<String,Integer> wordCounts = pairs.reduceByKey(new Function2<Integer, Integer, Integer>() {
            
            private static final long serialVersionUID = 1L;
            
            @Override
            public Integer call(Integer v1, Integer v2) throws Exception {
                // TODO Auto-generated method stub
                return v1 + v2;
            }
        });
        
        
        //----用一个 action 算子触发job-----------------------------------------
        wordCounts.foreach(new VoidFunction<Tuple2<String,Integer>>() {
            
            @Override
            public void call(Tuple2<String, Integer> wordCount) throws Exception {
                // TODO Auto-generated method stub
                System.out.println(wordCount._1 + " appeared " + wordCount._2 + " times");
            }
        });
    }

}

转载于:https://www.cnblogs.com/key1309/p/5303557.html

第一个Spark程序相关推荐

  1. Spark学习笔记1——第一个Spark程序:单词数统计

    Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-c ...

  2. 从零到一编写一个 spark 程序并提交到集群中运行

    怎样用IDEA编写spark程序并提交到集群上运行 1.安装scala sdk 1.下载 scala 安装程序 #下载地址 https://www.scala-lang.org/download #w ...

  3. 写第一个spark程序(wordcount)

    首先启动集群与spark 其次把spark目录下的README.md上传到hdfs 进入spark下的bin目录,运行spark-shell ./spark-shell 运行 val textFile ...

  4. 搭建scala 开发spark程序环境及实例演示

    上一篇博文已经介绍了搭建scala的开发环境,现在进入正题.如何开发我们的第一个spark程序. 下载spark安装包,下载地址http://spark.apache.org/downloads.ht ...

  5. Spark系列—02 Spark程序牛刀小试

    一.执行第一个Spark程序 1.执行程序 我们执行一下Spark自带的一个例子,利用蒙特·卡罗算法求PI: 启动Spark集群后,可以在集群的任何一台机器上执行一下命令: /home/spark/s ...

  6. 第一个 Spark Steaming 程序

    我的第三个发明专利也通过了内部专家的审核,我真是个创新满满的小天才亚,虽然说自己也赚到了一点小钱钱,但是和伟大的创作事业相比,那都是不值一提的小插曲.今天再次起航Spark Steaming的学习~ ...

  7. 好程序员大数据教程:SparkShell和IDEA中编写Spark程序

    好程序员大数据教程:SparkShell和IDEA中编写Spark程序,spark-shell是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下用Scala编写Spa ...

  8. HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo

    26 集群使用初步 HDFS的设计思路 l 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: l 在大数据系统中作用: 为各类分布式 ...

  9. HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo...

    26 集群使用初步 HDFS的设计思路 l 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: l 在大数据系统中作用: 为各类分布式 ...

最新文章

  1. 造出世界最大芯片的公司,Cerebras Systems到底是怎样的存在?
  2. 网站优化中受欢迎的文章是怎样的?
  3. 1.二叉树的中序遍历
  4. CentOS6安装MySQL 1 - 更新yum源失败
  5. iec60870-5-104通讯协议编程_三菱FX编程口通讯协议1——协议解读
  6. [转载] python中的eval函数
  7. 并发减库存,怎么保证不超卖?
  8. linux测试at命令,linux at命令:(定时执行脚本)
  9. WebRTC 之 RTX
  10. php做推送服务端实现ios消息推送
  11. C#学习笔记:矩形判断
  12. 全国哀悼日网站变灰代码
  13. laravel实现-阿里接口根据银行卡号查询银行名
  14. 动态内存的申请和非动态内存的申请_公安交管新举措咋解读?非营运七座车6年免检,70岁可申请驾照...
  15. android+蓝牙+文件传输,蓝牙文件传输Android
  16. Xshell配色美化
  17. 基于Python改变图片像素大小
  18. MySQL数据库事务基本介绍、四大特征、隔离界别的使用方法
  19. pythonrandint用法_Python randint()用法及代码示例
  20. 霍夫变换论文、代码汇总

热门文章

  1. C#颜色和名称样式对照表【转载】
  2. C# 动态添加SEO 信息,不和静态页面重复和叠加
  3. 提里奥·弗丁(魔兽世界里的NPC)
  4. Spring-BeanFactory源码分析
  5. vue --- 2.0响应式补充
  6. JavaScript 标准参考教程-阅读总结(三)
  7. 【Oracle Database】数据库控制文件管理
  8. HDU4506 小明系列故事——师兄帮帮忙
  9. 【讨论】新一轮互联网的泡沫即将破灭,大量低级别的码农将被淘汰
  10. shell脚本中if的相关参数