新建一个maven项目(箭头位置点开三角下标随便选择一个)然后greate

java idea lib jar 引用 idea如何引用jar包_scala

然后我们去下载一个maven包(网盘自取)

百度网盘 请输入提取码

安装到你指定的目录下然后我们点击file下的settings

java idea lib jar 引用 idea如何引用jar包_spark_02

打开工具将刚才下载的maven添加进去

java idea lib jar 引用 idea如何引用jar包_intellij-idea_03

这里点击...找到我们指定的maven安装路径选中然后点击ok

java idea lib jar 引用 idea如何引用jar包_intellij-idea_04

java idea lib jar 引用 idea如何引用jar包_spark_05

这里把override勾中然后点击文件夹图标然后去找maven下的工具箱,选中然后ok

java idea lib jar 引用 idea如何引用jar包_intellij-idea_06

java idea lib jar 引用 idea如何引用jar包_java_07

然后应用然后确定

java idea lib jar 引用 idea如何引用jar包_intellij-idea_08

然后再打开file下的project structure添加scala(前提是已经在idea上配置好了scala,没有配置可以看我前几篇文章配置离线版(),在线版直接在idea里下载就好)

java idea lib jar 引用 idea如何引用jar包_scala_09

然后选择modules,点击+号选择scala

java idea lib jar 引用 idea如何引用jar包_jar_10

java idea lib jar 引用 idea如何引用jar包_intellij-idea_11

配置好了scala它就会自动填入你安装的scala,然后点击ok

java idea lib jar 引用 idea如何引用jar包_spark_12

然后选中它(前面框框里打勾)

java idea lib jar 引用 idea如何引用jar包_scala_13

然后应用确定

java idea lib jar 引用 idea如何引用jar包_intellij-idea_14

然后进入项目下的pom.xml

java idea lib jar 引用 idea如何引用jar包_java_15

将以下代码copy进去配好依赖

<dependencies>
<dependency>
  <groupId>org.scala-lang</groupId>
  <artifactId>scala-library</artifactId>
  <version>2.12.15</version>
</dependency>

<dependency>
  <groupId>org.scala-lang</groupId>
  <artifactId>scala-compiler</artifactId>
  <version>2.12.15</version>
</dependency>

<dependency>
  <groupId>org.apache.spark</groupId>
  <artifactId>spark-core_2.12</artifactId>
  <version>3.0.0</version>
</dependency>


</dependencies>

copy的位置要在<project>里,如光标位置所示

java idea lib jar 引用 idea如何引用jar包_intellij-idea_16

copy完成后进行刷新,点击按钮

java idea lib jar 引用 idea如何引用jar包_java_17

如果有爆红或者标黄,可以如下图所示进行排错

java idea lib jar 引用 idea如何引用jar包_jar_18

然后在main下新建一个目录

java idea lib jar 引用 idea如何引用jar包_java_19

新建java目录

java idea lib jar 引用 idea如何引用jar包_scala_20

在java目录下新建一个文件夹

java idea lib jar 引用 idea如何引用jar包_spark_21

名字自取

java idea lib jar 引用 idea如何引用jar包_spark_22

然后创建一个scala文件

java idea lib jar 引用 idea如何引用jar包_scala_23

java idea lib jar 引用 idea如何引用jar包_scala_24

如果右击创建不了scala文件那么再打开file下的project structure添加scala和上面添加scala操作一样,+号然后选中

java idea lib jar 引用 idea如何引用jar包_intellij-idea_25

创建完成后我们就可以编写一个程序打包到集群下进行测试(注意要先运行一遍)

package test



import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 **
 *
 * 注:这是在IDEA上直接运行程序
 * 若要打包上传到Spark-shell上运行,需把代码中的“.setMaster("local[*]")”删除,
 * 并修改保存路径为“/Tipdm/Spark/Result/house”再打包上传。
 *
 *
 *
 *
 */
object test1 {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setAppName("zufang")
    val sc = new SparkContext(conf)

    //依次是:数据id号 标题 链接 地区 地点 地铁站 人数 日期
    //对应的字段依次是:
    //id title link district bizcircle tagList onsale validdate
    val input: RDD[String] = sc.textFile("file:///opt/house.txt")

    //数据清洗,第6个字段“地铁站”有些数据为空
    val clean: RDD[Array[String]] = input
      .filter(_.split("\\t")(5) != "")
      .map(line => {
        val data = line.split("\\t")
        (data)
      })

    //缓存到内存
    clean.cache()

    //统计各地区的租房人数
    val peopleCount: RDD[(String, Int)] = clean.map(data => (data(3),data(6).toInt)).reduceByKey(_+_)

    //保存数据到HDFS
    peopleCount.saveAsTextFile("file:///opt/xx")
  }

}

编写完成后我们对它进行打包,安此顺序打开jar.jar双击

java idea lib jar 引用 idea如何引用jar包_intellij-idea_26

然年我们在运行结果里找到jar包的路径copy

java idea lib jar 引用 idea如何引用jar包_java_27

到此电脑里打开

java idea lib jar 引用 idea如何引用jar包_intellij-idea_28

复制jar包

java idea lib jar 引用 idea如何引用jar包_scala_29

然后复制到集群环境下,这里因为我集群是min版所以使用xshell

xshell连接虚拟机的教学在网盘里可以自取(百度网盘 请输入提取码

java idea lib jar 引用 idea如何引用jar包_java_30

连接成功把刚才复制的jar包导入到集群里,路径自选,我习惯放opt下,再把我们需要读取的house.txt放进去

java idea lib jar 引用 idea如何引用jar包_java_31

然后进集群调用jar包,命令:(spark-submit --class test.test1 /opt/untitled13-1.0-SNAPSHOT.jar)

test.test1是你的idea文件路径

java idea lib jar 引用 idea如何引用jar包_jar_32

/opt/untitled13-1.0-SNAPSHOT.jar是你的集群下的jar包路径

java idea lib jar 引用 idea如何引用jar包_intellij-idea_33

在集群里使用命令,出现代码结果

java idea lib jar 引用 idea如何引用jar包_scala_34

打包成功