知名网站建设定制Spark项目的创建

前述概要:知名网站建设定制本次项目配置环境:IDEA 2021.2.3  Maven 3.8.3

第一步:建立一个Maven项目,知名网站建设定制创建出文件最原始的目录结构

依次点击File->New->Project

这一步JDK版本,选择14.0.2,知名网站建设定制然后依次点击Next->“知名网站建设定制给项目起名字和确定保存路径”->Finish,

(知名网站建设定制此处注意必须选择jdk14,知名网站建设定制否则会出现不可检测的错误),如图操作。

知名网站建设定制可以看到新建成的文件知名网站建设定制结构如图所示(左),然后删除src文件,新的文件结构(右)如下。

             

第二步:对项目进行文件目录配置

主要是添加需要的文件以及对文件进行相关标记

依次点击项目包->New->Module

添加模块,注意JDK从始至终都选择14版本,点击Next->“Parent选择SparkStudy”->”确定Parent项目名字和保存路径”->Finish,如图操作。

(此处补充点:Parent项目叫聚合项目,简单理解为创建Maven父项目的过程)

此时项目结构如图所示。

接下来给此时的项目中有关文件添加标记,涉及到两个文件,分别是src/main/java以及src/main/resource,对第一个文件添加Source Root标记,第二个文件添加Resource Root标记。

注意:由于IDEA版本问题,会存在上一步完成后已经对文件有过标记,是IDEA自动生成,此时的文件包长这样,如图,若不是,请完成以下两个步骤。

此时项目结构如图所示,注意与前一张图的区别,文件前图标有所变化。

依次点击java->Mark Directory as->Source Root,如图操作。

依次点击resource->Mark Directory as->Resource Root,如图操作。

第三步:添加Scala插件

由于项目需要特定插件,故此时需要下载一个Plugin,名字叫做Scala。

依次点击File->Setting打开IDEA设置,如图操作。

”搜索plugin”->”搜索Scala“->选择Scala,点击Install->Apply->OK,如图操作。

(注意两个搜索框的位置)

此时开始进行项目结构相关配置,选择File->Project Structure,打开项目结构,如图操作。

依次点击Global Libraries->“+”->Scala SDK

依次点击Download->“选择2.12.11版本“->OK,等待下载,

下载完成后,选择spark-core->OK

如图是Scala配置好的样子,注意左右版本是否一致,完成后点击Apply->OK。

第四步:添加项目框架支持

选择spark-core,点击Add Framework Support

注意:此处由于IDEA版本问题,出现问题,在添加框架时没有找到Scala,如下图一,此时按照图二进行操作,删除该依赖,然后点击Apply->OK,再回归正题,继续接下来的配置。

(若在配置过程中没有下情况,则可以跳过该步骤)

图一

图二

开始添加框架,依次点击Scala->OK,注意选择版本号必须是2.12.11

第五步:Maven配置Spark依赖

由于项目由两个pom.xml文件,所以注意选择SparkStudy/spark-core/pom.xml,添加以下代码,如图所示。

(首次下载比较慢,需要等待,由于IDEA设置的问题,所以会自动下载,如没有配置过相关设置,则在添加代码后右下角会有弹框,点击import change即可)

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

注意:此处如果出现maven找不到对应spark的jar包的情况,可以参考下面的解决方式。

(若此方式无法解决问题需要自行查找解决方案)

maven的配置路径需要一致,如图所示,按照自己存储的位置做出相应更改。

第六步:创建一个class执行并验证

在src/main/java里创建Scala Class,如图操作。

选择Object->输入类名->enter

输入代码,完整代码如下:(代码中路径根据自己的情况进行修改)

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object WordCount {
  def main(args: Array[String]): Unit = {
    //0.
建立和Spark框架的连接,创建 Spark 运行配置对象,获取Spark上下文
    val sparkConf = new SparkConf().setMaster("local").setAppName("WordCount");
    val sc = new SparkContext(sparkConf)
    //1.读取文件,获取一行一行的数据
    val lines: RDD[String] = sc.textFile("D:\\datas\\1.txt")
    //2. 将一行数据进行拆分,形成一个一个的单词(分词),扁平化,将整体拆成个体的操作
    //“hello world” => hello, world
    val words: RDD[String] = lines.flatMap(_.split(" "))
    //3. 将单词进行结构的转换,方便统计,word => (word, 1)
    val wordToOne: RDD[(String, Int)] = words.map((_, 1))
    //4.将转换后的数据进行分组聚合,相同key的value进行聚合操作,(word,1) => (word, sum)
    val wordToCount: RDD[(String, Int)] = wordToOne.reduceByKey(_ + _)
    //5.将转换结果采集到控制台打印出来
    wordToCount.collect().foreach(println)
    //关闭连接
    sc.stop();
  }
}

然后执行程序,在代码页右键直接点击Run“class”

此处会出现错误,查看日志可知缺少环境变量的配置

此处会出现错误,查看日志可知路径出现问题,路径根据自己的情况进行修改

(2)打开编译器

点击Edit Configurations->找到Environment variable点击后面的小图标->点击左上角“+”->

输入变量名和bin文件地址->OK->Apply->OK,如图操作。

注意,一定要点击Apply再点击OK,否则会不生效

 

!!!注意,一定要点击Apply再点击OK,否则会不生效!!!

!!!点击顺序依次为OK->Apply->OK !!!

创建两个文本作为test

再次执行程序WordCount,查看运行结果。

不同txt执行结果不同,但是每个和预期结果做对照,发现正确,由此,一个简单的Spark项目创建完毕。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发