一、idea社区版安装scala插件

因为idea默认不支持scala开发环境,所以当需要使用idea搭建scala开发环境时,首先需要安装scala插件,具体安装办法如下。

1、打开idea,点击configure下拉菜单中的plugins选项:

2、在弹出对话框中点击红框按钮:

3、在弹出最新对话框的搜索栏输入scala,在筛选出的内容中选择红框部分,点击右侧install按钮开始下载插件:

本人在测试过程中通过install自动下载插件失败,最后选择手动下载scala插件,然后通过步骤2中install plugin from disk选项,选择手动下载zip包的方式安装插件成功。

二、创建scala工程

1、下载scala安装文件,并解压到d:\目录下:

https://downloads.lightbend.com/scala/2.10.6/scala-2.10.6.zip

2、打开idea开发工具,选择“create new project”,创建一个新的工程:

3、下图中选择jdk版本、选择scala、以及scala依赖包位置(scala安装软件位置),next:

4、输入工程名称并且选择工程位置,点击finash:

5、完成工程创建后如下:


三、配置scala工程

1、file->preject structure:

2、modulesàsrcànew folder方式创建文件夹:

3、完成文件创建后,点击ok完成配置。

工程结构如下:


四、为工程导入spark jar包

1、首先解压缩spark安装包到d:\目录下:

D:\spark-1.3.0-bin-2.5.0-cdh5.3.6

2、fileàproject structure:

3、在对话框选择librariesà+àjava:

4、在弹出对话框内选择spark解压目录,选中spark lib目录下所有jar包,点击ok导入所有jar包:

5、点击ok,完成spark jar包导入scala工程:


五、编写wordcount程序进行基准测试

1、在scala工程中创建packet,并且创建测试spark类,并且编写wordcount程序代码,如下:

package Chavin.King.SparkApp
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
object SparkDemo {
def main(args: Array[String]) {
val logFile = "hdfs://chavin.king:9000/user/hadoop/mapreduce/wordcount/input/wc.input"
val conf = new SparkConf().setAppName("Simple Application") //.setMaster("local")
val sc = new SparkContext(conf)
val rdd = sc.textFile(logFile)
val wordcount = rdd.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _).map(x => (x._2,x._1)).sortByKey(false).map(x => (x._2,x._1))
wordcount.saveAsTextFile("hdfs://chavin.king:9000/user/hadoop/mapreduce/wordcount/output00000")
sc.stop()
}
}

截图如下:

2、代码完成之后,右键à选择run “SparkApp”,运行程序进行功能测试。

3、打包SparkApp程序:

File—>preject structureàartifactsà+àJARàfrom modules with dependencies:

下图中选择要编译的主类,点击ok:

删除output layout下的所有依赖jar包,并且指定output directory,点击ok:

回到idea主页面,点击buildàbuild artifacts:

SaprkApp.jar—>build,进行jar包编译:

编译完成后到d:\下可以看到我们编译的jar包。

4、测试编译的jar包(SparkApp.jar):

4.1)删除hdfs输出目录:

bin/hdfs dfs -rm -r hdfs://chavin.king:9000/user/hadoop/mapreduce/wordcount/output00000

4.2)spark-submit方式测试jar包:

bin/spark-submit \
--master yarn \
--deploy-mode client \
/opt/datas/SparkApp.jar

通过IDEA搭建scala开发环境开发spark应用程序的更多相关文章

  1. IDEA搭建scala开发环境开发spark应用程序

    通过IDEA搭建scala开发环境开发spark应用程序   一.idea社区版安装scala插件 因为idea默认不支持scala开发环境,所以当需要使用idea搭建scala开发环境时,首先需要安 ...

  2. IDEA+maven搭建scala开发环境(spark)(半转载)

    以下内容部分来自于https://zhuanlan.zhihu.com/p/23141509,我尝试了一遍,然后添加了一些图片.. 其实我觉得在IDEA中使用scala插件然后创建project的时候 ...

  3. PyCharm搭建Spark开发环境 + 第一个pyspark程序

    一, PyCharm搭建Spark开发环境 Windows7, Java 1.8.0_74, Scala 2.12.6, Spark 2.2.1, Hadoop 2.7.6 通常情况下,Spark开发 ...

  4. 通过搭建一个精简的C语言开发环境了解一个C程序的执行过程

    一.如何搭建一个精简的C语言开发环境 准备:下载TC2.0,并解压,比如说“d:\tc2.0\tc”目录 1.在C盘建立一个目录minic c:\ md minic 2.从解压的目录中将以下文件拷贝到 ...

  5. [笔记]Android开发环境配置及HelloWorld程序

    Android的开发须要下面四个工具: 1.JDK 2.Eclipse 3.Android SDK 4.ADT   具体功能: 1.JDK.JDK即Java Development Kit(Java开 ...

  6. Android开发环境及Hello World程序

    Android的开发需要以下四个工具: 1. JDK 2. Eclipse 3. Android SDK 4. ADT 具体功能: 1. JDK.JDK即Java Development Kit(Ja ...

  7. Java(1)开发环境配置及第一个程序Hello World

    作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201468.html 博客主页:https://www.cnblogs.com/testero ...

  8. Windows 搭建 .NET 跨平台环境并运行应用程序

    写在前面 阅读目录: Install .NET Version Manager (DNVM) Install .NET Core Execution Environment (DNX) Write t ...

  9. 本地搭建开发环境开发redis程序

    1.因为redis是部署在linux环境下,远程要想连接到linux,首先将linux防火墙关闭: service iptables stop

随机推荐

  1. Python距离放弃拉近的day03

    新的一天,依旧是内容补充,补充了数学没有的运算符,in和not in,就是判断in前面的东西是不是在后面的数据中,然后新课讲了平常最常用的字符串的方法,引号的里面全部都是字符串,在其中就会又如何判断这 ...

  2. Linux操作系统上要慎用的6个命令及防范方法

    Linux操作系统上要慎用的6个命令及防范方法 基于Linux平台工作的童鞋都知道Linux命令行使用起来非常高效和快捷,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候(别笑,别以为自己真的 ...

  3. 文本分类实战(四)—— Bi-LSTM模型

    1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...

  4. nginx上配置phpmyadmin

    Nginx配置phpmyadmin流程如下: 一.准备软件和环境(这里我以ubuntu16.04为例) 1.安装php7.1 sudo LC_ALL=C.UTF- add-apt-repository ...

  5. 实验吧 简单的SQL注入1

    解题链接:http://ctf5.shiyanbar.com/423/web/ 解题思路:一,   输入1,不报错:输入1',报错:输入1'',不报错. 二 ,   输入1 and 1=1,返回1 1 ...

  6. Spring Cloud:Security OAuth2 自定义异常响应

    对于客户端开发或者网站开发而言,调用接口返回有统一的响应体,可以针对性的设计界面,代码结构更加清晰,层次也更加分明. 默认异常响应 在使用 Spring Security Oauth2 登录和鉴权失败 ...

  7. UOJ143 万圣节的数列 构造

    传送门 做过这道题,然后这道题告诉你怎么构造数据-- 一种可行的构造方式是:将奇数和偶数分成两半,奇数放在偶数前面,然后除以2,再递归下去处理. 构造的正确性是显然的:如果存在"奇数偶数奇数 ...

  8. React-propsType和defaultProps

    TodoItem.propTypes={ content:PropTypes.string, text:PropTypes.string.isRequired, handleDeleteItem:Pr ...

  9. springboot打成jar后文件读取问题

    springboot打成的jar包里面不能用File去获取文件对象,只能用流的方式去读取. 获取方式: InputStream resourceAsStream  = 类名.class.getClas ...

  10. k8s简单的来部署一下tomcat,并测试自愈功能

    前言: 2018年12月6日 今天终于把k8s运行tomcat打通了,耗了我几天时间一个一个坑踩过来,不容易啊,废话不多说. 先记录一些操作时的错误: <<<<<< ...