在IDEA运行spark程序(搭建Spark开发环境) |
您所在的位置:网站首页 › scala开发环境搭建分析与总结 › 在IDEA运行spark程序(搭建Spark开发环境) |
建议大家写在Linux上搭建好Hadoop的完全分布式集群环境和Spark集群环境,以下在IDEA中搭建的环境仅仅是在window系统上进行spark程序的开发学习,在window系统上可以不用安装hadoop和spark,spark程序可以通过pom.xml的文件配置,添加spark-core依赖,可以直接在IDEA中编写spark程序并运行结果。 一、相关软件的下载及环境配置 1.jdk的下载安装及环境变量配置(我选择的版本是jdk8.0(即jdk1.8),建议不要使用太高版本的,不然配置pom.xml容易报错)链接:https://pan.baidu.com/s/1deXf6pgMiRca1O724fUOxg 提取码:sxuy 双击安装包,一直“Next”即可,最好不要安装到C盘,中间修改一下安装路径即可,最后点击“Finish”。我将jdk1.8安装在了D盘目录下的soft文件夹,bin路径如下: 配置环境变量: win+R打开命令窗口输入:javac -verison ,进行检测是否成功配置环境变量: 官网下载地址:IntelliJ IDEA – 领先的 Java 和 Kotlin IDE (jetbrains.com.cn) 官网下载地址:The Scala Programming Language (scala-lang.org) 双击打开下载好的安装程序,一直“Next”即可,最好不要安装到C盘,中间修改一下安装路径即可,最后点击“Finish”。我将scala软件安装在了D盘目录下的Develop文件夹,bin路径如下: 配置scala的系统环境变量,将scala安装的bin目录路径加入到系统环境变量path中: win+R打开命令窗口输入:scala -verison ,进行检测是否成功配置环境变量: 官网地址:Scala - IntelliJ IDEs Plugin | Marketplace 下载完成后,将下载的压缩包解压到IDEA安装目录下的plugins目录下: 官网地址:Maven – Download Apache Maven 将对应版本的压缩包下载到本地,并新建一个文件夹Localwarehouse,用来保存下载的依赖文件 配置maven的系统环境配置,跟以上配置的方法一样,将bin目录地址写入path环境变量: 打开maven安装包下的conf文件夹下面的settings.xml,添加如下代码: D:\\Develop\\maven\\Localwarehouse在settings.xml配置文件中找到mirrors节点,添加阿里云仓库代码,具体代码如下配置(注意要添加在和两个标签之间): alimaven central aliyun maven http://maven.aliyun.com/nexus/content/repositories/central/添加如下代码用来配置jdk版本: jdk-1.8.0 true 1.8.0 1.8.0 1.8.0 1.8.01.如果只需要在本地运行spark程序,则只需要添加scala-library、spark-core、spark-sql、spark-streaming等依赖,添加代码如下: 2.12.15 3.2.1 3.1.4 org.scala-lang scala-library ${scala.version} org.apache.spark spark-core_2.12 3.2.1 org.apache.spark spark-sql_2.12 3.2.1 org.apache.spark spark-streaming_2.12 3.2.1 provided 六、新建scala类文件编写代码当你右键发现无法新建scala类,需要将scala SDK添加到当前项目中。 鼠标点击java文件夹,右键new--->Scala Class 在WordCount文件中编写如下代码: import org.apache.spark.sql.SparkSession object WordCount { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .master("local[*]") .appName("word count") .getOrCreate() val sc = spark.sparkContext val rdd = sc.textFile("data/input/words.txt") val counts = rdd.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_) counts.collect().foreach(println) println("全部的单词数:"+counts.count()) counts.saveAsTextFile("data/output/word-count") } }准备好测试文件words.txt,将文件存放在scalaproject-->data-->input-->words.txt hello me you her hello me you hello me hello运行WordCount程序 运行结果: 如果运行spark程序,控制台有输出 “Could not locate executable null\bin\winutils.exe in the Hadoop binaries”错误提示,解决方案请参考以下文章: https://blog.csdn.net/hyj_king/article/details/104299371 winuntils.exe下载地址: GitHub - cdarlint/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windowswinutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows - cdarlint/winutils 如果运行你的spark程序,在控制台上打印出很多info信息,解决方案请参考以下文章: Spark控制台不打印INFO,只输出结果_no custom resources configured for spark.driver.-CSDN博客 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |