Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】

http://blog.csdn.net/xiefu5hh/article/details/51707529

Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】

标签: SparkECLIPSEJAVAMAVENwindows

2016-06-18 22:35 405人阅读 评论(0) 收藏 举报

 分类:

spark(5) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

目录(?)[+]

前言

本文旨在记录初学Spark时,根据官网快速入门中的一段Java代码,在Maven上建立应用程序并实现执行。

首先推荐一个很好的入门文档库,就是CSDN的Spark知识库,里面有很多spark的从入门到精通的形形色色的资料,

1.开发软件恭喜你,拿到spark驾考名额了,可以开始参加驾校培训了~http://lib.csdn.net/base/spark

大概理解下:spark主要分为  1.核心  2.实时streaming 3.对sql支持sparksql 4.机器学习mllib  还有别的暂时不考虑

本文只引入sparkcore核心部门案例入门,其他的同学们自己去探索吧~

环境准备:   window电脑一台是不可少的,不然怎么玩

其他需要安装的软件:     版本可以自己选择 ,以下是我的选择

1)  JDK          版本:1.7

2)  Maven     版本:3.2.3     :         http://maven.apache.org/

3)  Spark       版本:spark-1.1.0    http://spark.apache.org/

4》eclipse

注意安装的软件的位数和操作系统的位数。

1.JDK安装

具体安装步骤过于简单 略~

2.MAVEN安装

下载解压,具体安装步骤过于简单 略~

3.spark 安装

下载解压,具体安装步骤过于简单 略~

4.eclipse 安装

下载解压,具体安装步骤不是很简单,不能略,因为要安装maven

那就下载有maven的eclipse版本即可,推荐luna的eclipse 自带maven的

下载winutil 放到spark 的bin目录下

配置环境变量

需要配置 JAVA_HOME   HADOOP_HOME(配置为spark_Home,为winutil使用)  SPARK_HOME MAVEN_HOME   并在path中加入以上三个bin

cmd中分别测试 mvn -v   java -version  spark-shell 安装是否成功

工程构建

建立一个统计  文件中出现某个字符的行数。

建立Maven工程

修改pom.xml为:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dt.spark</groupId>
<artifactId>SparkApps</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>SparkApps</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.10</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.10</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.10</artifactId>
<version>1.6.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-streaming-kafka_2.10</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-graphx_2.10</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2-beta-5</version>
</dependency>
<dependency>
     <groupId>commons-lang</groupId>
     <artifactId>commons-lang</artifactId>
     <version>2.3</version>
    </dependency>
</dependencies>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<maniClass></maniClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>java</executable>
<includeProjectDependencies>false</includeProjectDependencies>
<classpathScope>compile</classpathScope>
<mainClass>com.dt.spark.SparkApps.App</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>

<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

修改完成后,需要下载比较多东西来构建工作空间, 此过程后可以先去吃个饭,跑两圈再回来~

编写代码

public static void main( String[] args )
    {
        String readme="D:\\spark\\CHANGES.txt";
        SparkConf conf=new SparkConf().setAppName("tiger‘s first spark app");
        JavaSparkContext sc =new JavaSparkContext(conf);
        JavaRDD<String> logData=sc.textFile(readme).cache();
        long num=logData.filter(new Function<String,Boolean>(){
        	public Boolean call(String s){
        		return s.contains("a");
        	}
       
        }).count();
       
        System.out.println("the count of word a is "+num);
        
    }

运行程序

编译应用程序

进入workplace项目,运行mvn compile,编译代码

打包程序

运行mvn package,系统将自动将应用程序代码打包成jar。运行成功后,在项目文件夹下的target文件夹下,将生成名为SimApp-1.0-SNAPSHOT.jar。

运行程序

使用spark-submit在本地运行应用  在elipse 下面参数总是出现错误,还在探索中。。

在cmd中输入 spark文件包bin下spark-submit文件所在的路径, 类名(加上包名),jar包所在的路径

D:\Spark_Tools\apache-maven-3.2.3\Maven_Project\SimApp>d:\Spark_Tools\spark-1.1.0-bin-hadoop1\bin\spark-submit --class "aa" --master local[4]  bb

aa 是程序的主程序路径  com..xxxxxx.xxxx  bb 是你打包的jar 路径  在target下 ,由pom.xml配置得到的。

在输出信息的最后一行,将看到程序的运行结果:

the count of word a is 20132

恭喜你,拿到spark驾照。。可以开车了...  上路需小心,多练习吧~

有问题可以留言,欢迎探讨,我会积极回复!~

时间: 2024-07-29 23:57:06

Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】的相关文章

windows 7使用eclipse下hadoop应用开发环境搭建

因为一些缘故,这节内容到现在才写,其实弄hadoop有一段时间了,可以编写一些小程序了,今天来还是来说说环境的搭建.... 说明一下:这篇文章的步骤是接上一篇的hadoop文章的:http://blog.csdn.net/enson16855/article/details/37725771 ,如果不是按照上篇的方式安装hadoop,可能会有些错误~百度一下就能解决的哈~ 准备环境: 不用多说了,我用eclipse版本是最新JavaEE版本,叫什么LUA Kepler,本来是用Juno的,因为操

Java架构师成长之道之Java概述与开发环境搭建

Java架构师成长之道之Java概述与开发环境搭建 Java架构师成长之道 2.1 Java概述 Java自从1995年诞生以来,由于赶上了互联网.移动互联网以及大数据的信息技术发展趋势,逐渐由一门高级编程语言演变成开发平台以及运行平台. 开发平台 经过20多年(1995年正式对外公开发布)的发展已经逐步建立起自己强大的生态体系,在大型互联网应用开发,移动端Android开发以及大数据开发占据了广阔的市场,最典型的就是国内互联网巨头-阿里巴巴在其电商.物流.金融.支付.大数据等业务场景中大量使用

Java核心技术之Java概述与开发环境搭建

Java核心技术之Java概述与开发环境搭建 Java核心技术 1.1 浅谈计算机语言 1.1 计算机语言发展史 1.1.2 编程语言应用场景 1.2 Java概述 1.2.1 Java发展历史 1.2.2 Java的特性 1.2.3 Java技术体系平台 1.3 Java程序员的必备环境 1.4 理解JDK,JRE和JVM三者之间的关系 1.5 macOS配置Java环境 1.5.1 macOS下载JDK 1.5.2 macOS下JDK安装 1.5.3 macOS下JDK配置 1.6 Visu

linux 下 VNC Server安装配置及 eclipse CDT C/C++ 开发环境搭建(我用的是阿里云服务器 ubuntu 12.04 64-bit,无图形化界面)

linux 下 VNC Server安装配置及 eclipse CDT C/C++ 开发环境搭建(我用的是阿里云服务器 ubuntu 12.04 64-bit,无图形化界面): 既然要用 eclipse 可视环境下开发,那首先要安装图形界面喽!!! 对开发者来说,个人认为 linux 选择界面优先选择顺序:Awesome(性能最好) > Xfce4 > gnome > unity-2d //////////////////////////////////////////////// 首先

Java操作HDFS开发环境搭建以及HDFS的读写流程

Java操作HDFS开发环境搭建 在之前我们已经介绍了如何在Linux上进行HDFS伪分布式环境的搭建,也介绍了hdfs中一些常用的命令.但是要如何在代码层面进行操作呢?这是本节将要介绍的内容: 1.首先使用IDEA创建一个maven工程: maven默认是不支持cdh的仓库的,需要在pom.xml中配置cdh的仓库,如下: <repositories> <repository> <id>cloudera</id> <url>https://re

Go语言-Windows开发环境搭建

由于实验室项目的需要,我今天开始学Go语言. 首先介绍Go语言开发环境的搭建,我的环境是在Windows下搭建,Go语言包推荐.msi安装包,我用的是go1.3.windows-386.msi ,原因很简单,.msi安装会自动配置环境变量,当然也可以用.zip包然后自己配置环境变量.IDE开发环境有两种选择:一是liteIDE,另一个是给eclipse下载goclipse插件.我选择的是liteIDE,下面我介绍下我今天搭建Go开发环境的小小经验总结... 1.下载Go语言安装包. 地址:htt

基于QT 5.7.0 for Android 的 Windows 开发环境搭建

基于QT 5.7.0 for Android 的 Windows 开发环境搭建 本文属于转载原文地址https://my.oschina.net/armsky/blog/740645 一.下载软件1.jdk:jdk-8u102-windows-i586.exehttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlhttp://download.oracle.com/otn-pub/ja

Android NDK r8 Cygwin CDT 在window下开发环境搭建 安装配置与使用 详细图文讲解

android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把环境搭建起来了,把过程记录下来分享给大家. 内容目录: 1.默认基础环境 2.NDK下载与配置 3.安装Cygwin 4.用NDK编译 5.安装CDT插件 6.安装Sequoyah插件 7.JNI编译环境配置 画了一个思维导图让大家一目了然配置过程 ---------------------------

【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把环境搭建起来了,把过程记录下来分享给大家. 内容目录: 1.默认基础环境 2.NDK下载与配置 3.安装Cygwin 4.用NDK编译 5.安装