利用intellij idea 搭建spark开发环境(windows)

利用intellij idea 搭建spark开发环境(windows)

本文配置所有环境

Win10 企业版2016长期服务版
Jdk1.8.0.131
Hadoop2.7.3
Spark2.2.0
Scala2.11.12

一、Jdk环境配置

  • 下载
    http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
    可能需要oracle账号,目前更新到了151版。没有账号的可以移步
    链接: https://pan.baidu.com/s/1jIaj0NW 密码: kpdb
  • 配置环境变量
set JAVA_ENV=D:\javaEnv\Java\jdk1.8.0_131
set JAVA_HOME=%JAVA_ENV%\Java\jdk1.8.0_131
set CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
set PATH=%PATH%;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

根据实际情况配置。

二、hadoop环境搭建

  • 下载代码
    https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/
    这个镜像库中已经没有2.7.3版本,如需下载请移步
  • 配置环境变量
set HADOOP_HOME=D:\javaEnv\hadoop-2.7.3
set PATH=%PATH%;%HADOOP_HOME%\bin;

根据自己的实际情况配置。

三、spark环境搭建

  • 下载代码
    链接: https://pan.baidu.com/s/1jIgUV6e 密码: tphe
  • 配置环境变量
SPARK_HOME=D:\javaEnv\spark-2.2.0-bin-hadoop2.7
set PATH=%PATH%;%SPARK_HOME%\bin;

根据自己的实际情况配置。

四、Scala安装

  • 下载文件
    链接: https://pan.baidu.com/s/1bZdMH4 密码: qtgm
  • 配置环境变量
SCALA_HOME=D:\javaEnv\scala-2.11.12
set PATH=%PATH%;%SCALA_HOME%\bin;

根据自己的实际情况配置。

五、安装intellij idea

我这里使用的是ideaIU-2016.3.7
下载地址https://www.jetbrains.com/idea/download/previous.html
下载安装即可
破解方法,自己去百度即可

六、IntelliJ IDEA自定义配置和缓存位置

将.IntelliJIdeaXX 目录移到其他分区的办法:
1、将C盘的.IntelliJIdeaXX 目录拷贝至自定义位置;
2、修改intellij idea安装目录下 \bin\idea.properties文件,将所有的 ${user.home} 替换为自定义位置 (注意斜杠的方向)

cfg = D:/JetBrains
idea.config.path=${cfg}/.IntelliJIdea2016.3/config
idea.system.path=${cfg}/.IntelliJIdea2016.3/system

3、启动 IntelliJ Idea 16,选择previous配置(即自定义位置)

七、添加scala插件和配置JDK、SDK

1.添加scala插件
利用intellij idea 搭建spark开发环境(windows)_第1张图片
搜索scala并安装
利用intellij idea 搭建spark开发环境(windows)_第2张图片
重启程序即可。
2.配置SDK和JDK
利用intellij idea 搭建spark开发环境(windows)_第3张图片
添加JDK
利用intellij idea 搭建spark开发环境(windows)_第4张图片
添加scala sdk
利用intellij idea 搭建spark开发环境(windows)_第5张图片

八、配置maven

利用intellij idea 搭建spark开发环境(windows)_第6张图片
利用intellij idea 搭建spark开发环境(windows)_第7张图片

九、创建WordCount工程实例

1.创建maven工程
利用intellij idea 搭建spark开发环境(windows)_第8张图片
2.设置groupId和artifactId
利用intellij idea 搭建spark开发环境(windows)_第9张图片
4.设置工程目录
利用intellij idea 搭建spark开发环境(windows)_第10张图片
点击完成即可
5.为工程添加scala框架支持
利用intellij idea 搭建spark开发环境(windows)_第11张图片
利用intellij idea 搭建spark开发环境(windows)_第12张图片
6.在src文件夹中创建一个WordCount文件夹并设定为resources root
利用intellij idea 搭建spark开发环境(windows)_第13张图片
利用intellij idea 搭建spark开发环境(windows)_第14张图片
7.在WordCount中新建package和scala程序
利用intellij idea 搭建spark开发环境(windows)_第15张图片
利用intellij idea 搭建spark开发环境(windows)_第16张图片
将以下代码复制进去

package com.unicom.cuiyufei
/**
  * Created by cuiyufei on 2018/2/12.
  */
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
object WordCount {
  def main(args: Array[String]) {
    val inputFile =  "F:\\spark\\spark.txt"
    val conf = new SparkConf().setAppName("WordCount").setMaster("local")
    val sc = new SparkContext(conf)
    val textFile = sc.textFile(inputFile)
    val wordCount = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b)
    wordCount.foreach(println)
  }
}

在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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>
    <groupId>WODASgroupId>
    <artifactId>WordCountartifactId>
    <version>1.0-SNAPSHOTversion>
    <properties>
        <spark.version>2.1.0spark.version>
        <scala.version>2.11scala.version>
    properties>
    <repositories>
        <repository>
            <id>nexus-aliyunid>
            <name>Nexus aliyunname>
            <url>http://maven.aliyun.com/nexus/content/groups/publicurl>
        repository>
    repositories>
    <dependencies>
        <dependency>
            <groupId>org.apache.sparkgroupId>
            <artifactId>spark-core_${scala.version}artifactId>
            <version>${spark.version}version>
        dependency>
        <dependency>
            <groupId>org.apache.sparkgroupId>
            <artifactId>spark-streaming_${scala.version}artifactId>
            <version>${spark.version}version>
        dependency>
        <dependency>
            <groupId>org.apache.sparkgroupId>
            <artifactId>spark-sql_${scala.version}artifactId>
            <version>${spark.version}version>
        dependency>
        <dependency>
            <groupId>org.apache.sparkgroupId>
            <artifactId>spark-hive_${scala.version}artifactId>
            <version>${spark.version}version>
        dependency>
        <dependency>
            <groupId>org.apache.sparkgroupId>
            <artifactId>spark-mllib_${scala.version}artifactId>
            <version>${spark.version}version>
        dependency>
    dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.scala-toolsgroupId>
                <artifactId>maven-scala-pluginartifactId>
                <version>2.15.2version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compilegoal>
                            <goal>testCompilegoal>
                        goals>
                    execution>
                executions>
            plugin>
            <plugin>
                <artifactId>maven-compiler-pluginartifactId>
                <version>3.6.0version>
                <configuration>
                    <source>1.8source>
                    <target>1.8target>
                configuration>
            plugin>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-surefire-pluginartifactId>
                <version>2.19version>
                <configuration>
                    <skip>trueskip>
                configuration>
            plugin>
        plugins>
    build>
project>

8.右键整个工程Generate Sources and Update Folders,在scala代码界面右键点击执行代码
利用intellij idea 搭建spark开发环境(windows)_第17张图片
执行的过程中出现如下错误

Command line is too long. Shorten command line for WordCount or also for Application default configure
通过在shorten command line选择JAR manifest
利用intellij idea 搭建spark开发环境(windows)_第18张图片
10.打包执行
利用intellij idea 搭建spark开发环境(windows)_第19张图片
利用intellij idea 搭建spark开发环境(windows)_第20张图片
利用intellij idea 搭建spark开发环境(windows)_第21张图片
利用intellij idea 搭建spark开发环境(windows)_第22张图片

十、Intellij idea 常用插件

1.Key promoter
Key promoter这款插件适合新手使用。当你点击鼠标一个功能的时候,可以提示你这个功能快捷键是什么
2.Maven Helper
3. JRebel for IntelliJ
jrebel,热部署插件,能够在开发过程中帮助开发者节约大量的部署等待时间,几乎所有的代码改动都不需要重启应用服务器,连Spring增加一个Bean都可以热部署。
4. IdeaVim
如果喜欢Vim那种移动光标的快捷键,也有一个类似Vim的插件,IdeaVim,可以在Editor里面体验Vim的感觉。
5.画UML的话推荐 PlantUML 插件
6.mybatis plus
自由在java的interface与mapper文件间跳转
7.GsonFormat
Key promoter 快捷键提示 https://plugins.jetbrains.com/plugin/4455?pr=idea
String Manipulation 驼峰式命名和下划线命名交替变化 https://plugins.jetbrains.com/plugin/2162?pr=idea
CheckStyle-IDEA 代码规范检查 https://plugins.jetbrains.com/plugin/1065?pr=idea
FindBugs-IDEA 潜在 Bug 检查 https://plugins.jetbrains.com/plugin/3847?pr=idea
MetricsReloaded 代码复杂度检查 https://plugins.jetbrains.com/plugin/93?pr=idea
Statistic 代码统计 https://plugins.jetbrains.com/plugin/4509?pr=idea
JRebel Plugin 热部署 https://plugins.jetbrains.com/plugin/?id=4441
CodeGlance 在编辑代码最右侧,显示一块代码小地图 https://plugins.jetbrains.com/plugin/7275?pr=idea
GsonFormat 把 JSON 字符串直接实例化成类 https://plugins.jetbrains.com/plugin/7654?pr=idea
MultiMarkdown 书写 Markdown 文章 https://plugins.jetbrains.com/plugin/7896?pr=idea
Eclipse Code Formatter 使用 Eclipse 的代码格式化风格,在一个团队中如果公司有规定格式化风格,这个可以使用。 https://plugins.jetbrains.com/plugin/6546?pr=idea
Jindent-Source Code Formatter 自定义类、方法、doc、变量注释模板http://plugins.jetbrains.com/plugin/2170?pr=idea
ECTranslation 翻译插件 https://github.com/Skykai521/ECTranslation/releases

你可能感兴趣的:(spark从入门到放弃)