美文网首页
spark单机版Intelij开发(maven)

spark单机版Intelij开发(maven)

作者: 小月半会飞 | 来源:发表于2019-03-01 14:12 被阅读0次

第一步、新建项目

1、
image.png
2、
image.png

第二步、添加spark依赖

<dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_2.11</artifactId>
      <version>2.2.1</version>
    </dependency>

第三步、创建spark项目

import org.apache.spark.mllib.linalg.{Matrices, Matrix}
import org.apache.spark.{SparkContext, SparkConf}

/**
  * Created by Administrator on 2017/4/20.
  * xudong
  */
object WordCountLocal {
  def main(args: Array[String]) {
    /**
      * SparkContext 的初始化需要一个SparkConf对象
      * SparkConf包含了Spark集群的配置的各种参数
      */
    val conf=new SparkConf()
      .setMaster("local")//启动本地化计算
      .setAppName("testRdd")//设置本程序名称

    //Spark程序的编写都是从SparkContext开始的
    val sc=new SparkContext(conf)
    //以上的语句等价与val sc=new SparkContext("local","testRdd")
    val data=sc.textFile("e://hello.txt")//读取本地文件
//  val data=sc.textFile("file:///opt/modules/wc.input")//读取本地文件
    data.flatMap(_.split(" "))//下划线是占位符,flatMap是对行操作的方法,对读入的数据进行分割
      .map((_,1))//将每一项转换为key-value,数据是key,value是1
      .reduceByKey(_+_)//将具有相同key的项相加合并成一个
      .collect()//将分布式的RDD返回一个单机的scala array,在这个数组上运用scala的函数操作,并返回结果到驱动程序
      .foreach(println)//循环打印
  }
}

第四步、打jar包提交到spark集群计算

1、
2、
image.png
3、选择一个主程序
image.png
4、选择第二种打包方式
5、选择应用
6、补充

如果出现下图的情况



将下图中圈出来的文件删除,再重复1-5步骤

7、build或者rebuild一下
image.png
image.png

第五步、在spark集群计算

spark-submit --master spark://master的主机ip:7077 --class 主方法所在类的名称 jar包的绝对路径 输入文件的绝对路径(此处是hdfs上面的绝对路径,如果不需要输入文件路径,在主方法中已经指定好了输入路径,此条可以省略)

spark-submit --master spark://192.168.47.195:7077 --class WordCountLocal /opt/modules/wordspark.jar 

相关文章

网友评论

      本文标题:spark单机版Intelij开发(maven)

      本文链接:https://www.haomeiwen.com/subject/hdxfuqtx.html