0
点赞
收藏
分享

微信扫一扫

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)

笑望叔叔 2022-02-16 阅读 68



教程目录


  • ​​0x00 教程内容​​
  • ​​0x01 新建Scala项目​​

  • ​​1. 新建Scala项目​​
  • ​​2. 项目配置​​

  • ​​0x02 编写Scala代码​​

  • ​​1. 新建Scala类​​
  • ​​2. 编写WordCount代码​​
  • ​​3. 本地执行​​

  • ​​0x03 打包到服务器执行​​

  • ​​1. 设置打包工程​​
  • ​​2. 打包操作​​
  • ​​3. 上传服务器并执行​​

  • ​​0x04 统计结果展示​​
  • ​​0xFF 总结​​


0x00 教程内容


  1. 新建Scala项目
  2. 编写Scala代码
  3. 打包到服务器执行

实验前提:

a. 安装好了windows本地的scala

b. 安装好了IDEA的scala插件

c. 安装好了JDK

0x01 新建Scala项目

1. 新建Scala项目

a. 新建一个Scala项目,先选择Java,然后在右边选择Scala,配置好解压之后的scala包,其他的默认

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_服务器

b. 如果有提示,可以随便选一个

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_spark_02

2. 项目配置

a. 右击src,建一个包,比如:​​com.shaonaiyi​

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_spark_03

b. 然后编辑项目结构,加入我们的​​Scala SDK​​(找到我们win本地的Scala主目录即可):

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_spark_04

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_服务器_05

导入之后点击​​OK​IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_spark_06

c. 导入我们的Spark依赖jar包(选择Spark主目录下的jars目录,然后一直​​OK​​):

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_服务器_07

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_spark_08

0x02 编写Scala代码

1. 新建Scala类

a. 右击包名:​​com.shaonaiyi​​,创建​​Scala Class​​,然后选择Kind为​​Object​​:

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_服务器_09

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_scala_10

2. 编写WordCount代码

a. 修改Wordcount类为:

package com.shaonaiyi

import org.apache.spark.SparkContext

object Wordcount {

def main(args: Array[String]): Unit = {

var sc = new SparkContext("local[2]","Wordcount")
var file = sc.textFile("spark-wc.iml")
var wordRDD = file.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _).sortBy(_._2)
wordRDD.foreach(println(_))
}

}
3. 本地执行

a. 执行代码可以看到统计结果

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_服务器_11

0x03 打包到服务器执行

1. 设置打包工程

a. 选择一种类型的包

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_服务器_12

b. 设置我们的Wordcount类里面的main方法

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_spark_13

c. 排除我们服务器上有的包,即服务器已经有的jar包就不用也把他们打包上去了。

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_scala_14

然后一直​​ok​​,执行完,稍等一会可以看到src同级目录下多了个out文件夹。

2. 打包操作

a. 打包

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_服务器_15

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_spark_16

b. 执行完可以看到out目录有jar包了

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_服务器_17

3. 上传服务器并执行

a. 使用XFtp等工具上传jar包和项目下的即可(此处直接上传到~)

​spark-wc.jar​

​spark-wc.iml​

到​​~​​路径下

b. 启动spark

​$SPARK_HOME/sbin/start-all.sh​

c. 执行(在jar包当前路径下):

​spark-submit spark-wc.jar​

注意要配置好spark的环境变量,才可以在任意路径下执行spark-submit操作,此处不再累赘。

0x04 统计结果展示

统计结果:

IntelliJ IDEA开发Spark案例之WordCount(非Maven、离线版)_spark_18

0xFF 总结


  1. 本教程不用联网也可以执行Spark案例,此外,一样也可以执行机器学习等案例。
  2. 本教程非常关键,因为网络不好或者是简单的项目,这种传统的方式也是非常简单方便的。
  3. Maven工程版本,请查看教程:​​IntelliJ IDEA开发Spark案例之WordCount​​

大学大数据讲师、大学市场洞察者、专栏编辑

公众号、微博、:​​邵奈一​​

本系列课均为本人:​​邵奈一​​原创,如转载请标明出处

福利:

​​邵奈一的技术博客导航​​



举报

相关推荐

0 条评论