1.使用spark-shell编写程序:
ta/software/spark-1.4.0-bin-hadoop2.6/README.md")
加入Spark开发包
选择spark-assembly-*-*.jar(spark官网可以下载spark,下载后在lib目录下可以找到),完成依赖包的加载。
启动spark-shell
bin/spark-shell --master local[4] --jars testcode.jar
[4]表示在4个cpu核上运行,--jars指明需要的jar包路径
加载text文件
scala> val textFile = sc.textFile("file:///da
简单RDD操作
//获取文件第一项
scala>textFile.first()
scala>textFile.count()
scala>val textFilter = textFile.filter(line =>line.contains("Spark")).count
scala>textFile.map(line => line.split(" ").size).reduce((a,b) => if(a > b) a else b)
词频统计:
scala>val wordcount = textFile.flatMap(line => line.split(" ")).map(word => (word,1)).reduceBykey((a,b) => a+b).collect
简化方式:
scala> val wordcount = textFile.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect()
按value降序排序:
scala> val wordcount = textFile.flatMap(_.split(" ")).map(_,1).reduceByKey(_+_)
.map(x => (x._2,x._1)).sortByKey(false).map(x => (x._2,x._1)).collect()
使用IDE开发spark程序
1.环境准备:
1)安装jdk,配置环境变量。略。。。
2)安装scala,配置环境变量。略。。。
3)安装python,配置环境变量。略。。。
2.构建eclipse开发环境
可以在原有eclipse添加插件,也可以在scala官网直接下载eclipse IDE,以下为在原有eclipse添加插件的方法
(推荐直接下载scala官网中的IDE免去一系列设置。。或者使用IDEA进行开发)
1)安装eclipse
2)安装scala插件
打开eclipse,依次选择Help->Install New Software->选项里填入
http://download.scala-ide.org/sdk/e38/scala210/stable/site/ ->选择Scala IDE for eclipse和Scale IDE for eclipse development support,完成安装。
3)安装Python插件
打开eclipse,选择Help-> Install New software ->点击Add->名称输入PyDev,链接输入
http://pydev.org/updates ->点击ok -> 点击结果中的PyDev -> 点击next。完成安装
配置Python解释器。 在eclipse菜单栏中选择Window ->preferences -> Pydev -> Interpreter -(Python/Jython)命令
重启eclipse使其生效。
3.构建IntelliJ IDEA开发环境
在官网下载IDEA,http://www.jetbrains.com/idea/
1) 安装Scala插件
打开IDEA,在启动程序界面上点击Configure->Plugins,如果之前打开过IDEA也可以在IDEA内点击File->Settings->Plugins
点击左下角的Install JetBrains plugin,进入JetBrains选择页面,搜索Scala,选中Scala后右侧点击Install plugin,
可能会遇到网络不稳定导致的错误,此时可以提前下载好scala插件(http://plugins.jetbrains.com/plugin/?idea&id=1347),然后在plugins页面中选择Install plugin from disk进行安装,安装完毕后重启IDEA
2)创建项目
进入IDEA,选择File->New Project ->右侧选择SBT -> Next
进入项目创建面板,输入Project name 点击Finsh完成创建
此时,IDEA已为我们自动创建好了目录结构
选择File -> Project Structure -> Modules -> Dependencies -> 右侧+号 点击Library
选择Library Type为Java
遇到的问题:
1.如果出现SBT ‘ideaProject’ project refresh failed
需要重新配置java jdk路径
File->Project Structure->Project->选择No SDK的 New来选择JDK,点击OK,然后重启IDEA即可。
2.SBT不能出现完整目录
选择View->Tool Windows -> 选择SBT
然后刷新SBT Tasks
如果完整目录还是不可见,可以查看具体日志,下载需要的sbt包,放到相应目录下,一般是当前用户的.ivy2目录,然后删除SparkTest项目,重新创建项目即可
使用IDEA生成jar包
1)选择File->Project Structure
2)点击左边的Artifacts,点击上方的+
3)选择Jar->from moduls with dependencies
4)选择要启动的类,点击确定
5)应用之后,选择Build->Build Artifacts,选择Build或者ReBuild后即可生成jar包,生成的jar包在工程目录下的out/artifacts下
编写简单程序:在src/scala下创建Test.scala
打成jar包后(使用IDEA生成jar包,或者使用sbt 生成jar包),
使用sbt生成jar包,执行:sbt package
应用程序提交:(具体可见
《Spark部署与程序示例运行》)
./bin/spark-submit \
--class <main-class> \
--master <master-url> \
--deploy-mode <deploy-mode> \
<application-jar> \
[application-arguments]
master url格式:
local:在本地以单线程运行Spark
local[K]:在本地以K个Worker线程运行Spark(核数)
local[*]以与机器上的逻辑核数相同的Worker线程运行Spark
spark://master:port 连接到一个给定Spark独立模式集群上的Master,port一般为7070
yarn-client:以client模式连接到YARN集群,集群位置可以在HADOOP_CONF_DIR变量中找到
yarn-cluster:以Cluster模式连接到YARN集群,集群位置可以在HADOOP_CONF_DIR变量中找到