Java版Spark的Eclipse本地Windows开发环境搭建

开发前需要准备好JDK、Scala、Hadoop、Spark环境。步骤如下:

  第一步:安装JDK

  第二步:安装Scala

  第三步: 配置Spark环境变量

  第四步:安装Hadoop客户端

  第五步:安装Eclipse

第一步:安装JDK

省略,配置完验证是否安装成功

 

第二步:安装Scala

1、下载地址:http://www.scala-lang.org/download/

2、下载完成后解压,增加PATH 变量

比如解压目录是D:\scala-2.11.11,然后新增环境变量SCALA_HOME,值为D:\scala-2.11.11,并把SCALA_HOME增加到环境变量PATH,即 ;%SCALA_HOME%\bin

进入cmd 界面测试Scala 是否安装成功:
C:\Users\Administrator>scala
Welcome to Scala 2.11.11 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_51).
Type in expressions for evaluation. Or try :help.

 

第三步: 配置Spark环境变量

1、下载Spark

下载地址:http://spark.apache.org/downloads.html,如spark-1.6.0-bin-hadoop2.6.tgz,spark版本是1.6.0,对应的hadoop版本是2.6。

2、解压,配置Spark的环境变量

             新增SPARK_HOME 变量,值为  D:\spark-1.6.0-bin-hadoop2.6
             增加PATH变量为  ;%SPARK_HOME%\bin

 

第四步:安装Hadoop客户端

Spark是基于Hadoop之上的,运行过程中会调用相关Hadoop库,如果没配置相关Hadoop运行环境,会提示相关出错信息,虽然也不影响运行。Windows下开发Spark不需要在本地安装Hadoop,但是需要winutils.exe、hadoop.dll等文件。

1、下载Windows下Hadoop工具包(分为32位和64位的),比如hadoop-2.6.0.tar.gz

2、解压到D:\hadoop2.6\hadoop-2.6.0-cdh5.6.0,新建HADOOP_HOME变量,并添加到系统Path变量中;%HADOOP_HOME%\bin

第五步:安装Eclipse

省略使用lambda语法,需要开发工具配置jdk8编译环境

----------------------------------------------------------------------------------------------------------------------------------------------------------------

以上环境准备好之后,开始Java语言进行Spark开发,local模式应用程序开发

1. 新建Maven 工程

2、配置pom文件

<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.tydic</groupId>
    <artifactId>SparkDemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>SparkDemo</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>

        <dependency>
            <groupId>jdk.tools</groupId>
            <artifactId>jdk.tools</artifactId>
            <version>1.7</version>
            <scope>system</scope>
            <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
        </dependency>

        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>1.6.0</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase</artifactId>
            <version>1.0.0</version>
            <type>pom</type>
        </dependency>


        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-common</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.6.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-server</artifactId>
            <version>1.0.0</version>
        </dependency>
    </dependencies>
</project>
 

3、Java代码(读取本地文件,统计a和b字母个数)

package com.zyl.local;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;

public class LocalFileDemo {

    public static void main(String[] args) {
        String logFile = "file:///D:/spark-1.6.0-bin-hadoop2.6/README.md";
        SparkConf conf = new SparkConf().setAppName("LocalFileDemo").setMaster("local[*]");
        JavaSparkContext sc = new JavaSparkContext(conf);
        JavaRDD<String> fileRdd = sc.textFile(logFile).cache();
        long numAs = fileRdd.filter(x->x.contains("a")).count();
        long numBs = fileRdd.filter(x->x.contains("b")).count();
        System.out.println("Lines with a: " + numAs + ",lines with b: " + numBs);
    }

}
 

4、运行结果

 

总结:本地开发spark程序,主要是开发环境搭建较为复杂,但是方便后续开发代码调试,磨刀不误砍柴工嘛!!!

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Windows本地Spark Streaming开发环境搭建及简单实例: 1. 首先需要安装Java JDK和Scala,可以在官网上下载对应本的安装包进行安装。 2. 下载Spark的二进制包,解压到本地目录。 3. 配置环境变量,将Spark的bin目录添加到PATH中。 4. 在本地启动Spark集群,可以使用以下命令: ``` spark-submit --class org.apache.spark.examples.streaming.NetworkWordCount --master local[2] %SPARK_HOME%\examples\jars\spark-examples_2.11-2.4.0.jar localhost 9999 ``` 这个命令会启动一个本地的Spark集群,并运行一个简单的Spark Streaming应用程序,它会从本地的9999端口接收数据,并对数据进行实时计算。 5. 在另一个命令行窗口中,使用以下命令向Spark Streaming应用程序发送数据: ``` nc -lk 9999 ``` 这个命令会启动一个本地的Netcat服务器,它会将输入的数据发送到9999端口。 6. 在Spark Streaming应用程序的控制台输出中,可以看到实时计算的结果。 以上就是在Windows本地搭建Spark Streaming开发环境及简单实例的步骤。 ### 回答2: 搭建windows本地Spark Streaming开发环境需要准备以下几个步骤: 一、安装Java 需要先安装Java作为Spark的运行环境,推荐安装Java8及以上的本,可以通过官方网站下载安装包。 二、安装Spark 官方网站提供了Spark的下载地址,选择合适的本进行下载,并解压缩到本地硬盘上。 三、安装Python 需要安装Python来运行Spark Streaming的示例程序,如果已经安装了Anaconda,则可以直接使用。 四、安装PySpark PySparkSpark的Python,需要用pip安装,安装命令: pip install pyspark 搭建好本地开发环境之后,可以编写Spark Streaming的简单示例程序。 首先,需要导入相应的库: from pyspark.streaming import StreamingContext from pyspark import SparkContext 接下来,定义StreamingContext,设置批次时间,Spark Streaming的数据输入源等: sc = SparkContext(appName="PythonStreamingQueueStream") ssc = StreamingContext(sc, 1) rddQueue = [] inputStream = ssc.queueStream(rddQueue) 接下来,可以定义数据处理函数,并对输入源进行处理: def process(time, rdd): print("========= %s =========" % str(time)) try: if not rdd.isEmpty(): count = rdd.count() print("Word count in this batch: ", count) except Exception as e: print(e) inputStream.foreachRDD(process) 最后,需要启动StreamingContext,并将输入源写入队列: ssc.start() for i in range(5): rddQueue.append(sc.parallelize(["hello world"] * 10)) time.sleep(1) ssc.stop(stopSparkContext=True, stopGraceFully=True) 以上就是简单的Spark Streaming示例程序,可以通过这个示例进一步了解Spark Streaming的开发环境搭建和基本的使用。 ### 回答3: Spark是一个快速、通用和可扩展的计算引擎,支持在线数据处理。Spark Streaming是Spark生态系统中的一个组件,允许对实时数据进行流式处理和分析。在本地环境下进行Spark Streaming开发需要进行如下步骤: 1. 安装Java JDK和Scala环境 Spark需要Java JDK和Scala环境来运行。可以从Oracle官方网站下载Java JDK,在Scala官方网站下载Scala环境。 2. 下载Spark并解压缩 从Spark官方网站下载Spark,并解压缩到本地目录。 3. 配置环境变量 在环境变量中配置SPARK_HOME、JAVA_HOME、SCALA_HOME和PATH变量,以便在命令行中启动Spark。 4. 编写Spark Streaming应用程序 可以使用Scala编写Spark Streaming应用程序。在Spark Streaming中,可以使用DStreams(离散流)来处理数据。 5. 运行Spark Streaming应用程序 使用命令行启动Spark Streaming应用程序,可以使用Spark submit命令。例如,可以使用以下命令启动应用程序: ``` $SPARK_HOME/bin/spark-submit --class com.example.MyApp myapp.jar ``` 其中“com.example.MyApp”是程序入口类,myapp.jar是打包后的应用程序包。 简单实例: 以下是使用Spark Streaming进行单词计数的示例: ```scala import org.apache.spark._ import org.apache.spark.streaming._ object WordCount { def main(args: Array[String]) { val conf = new SparkConf().setAppName("WordCount") val ssc = new StreamingContext(conf, Seconds(1)) val lines = ssc.socketTextStream("localhost", 9999) val words = lines.flatMap(_.split(" ")) val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _) wordCounts.print() ssc.start() ssc.awaitTermination() } } ``` 该应用程序从本地套接字上读取数据流,并计算每个单词出现的次数。在命令行中可以使用以下命令启动该应用程序: ``` $SPARK_HOME/bin/spark-submit --class WordCount \ --master local[2] wordcount.jar localhost 9999 ``` 其中,--master local[2] 指定使用本地模式,并使用2个CPU核心。localhost 9999是要从上面读取数据的本地套接字。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值