彻底实战详解使用IDE开发Spark程序

使用IDE开发Spark分析
使用IDE开发Spark实战
使用IDE开发Spark的Local和Cluster

开发两种选择:IDEA、Eclipse

下载Scala for Eclipse

创建工程WordCount

改变Scala编译版本,右键工程,Properties->Scala Conpiler 划勾,Latest2.10
加入Spark1.6.x的jar文件依赖,下载spark
找到依赖的spark jar文件,并导入到eclipse中的jar依赖中
在src下建立spark工程包
创建Scala入口类
把class变成object并编写main入口方法

package com.tom.spark
/*** 使用Scala开发本地测试的Spark WordCount程序*/
object WordCount {def main(args: Array[String]){/*** 第一步:创建Spark的配置对象,SparkConf,设置Spark程序的运行时的配置信息* 例如通过setMaster来设置程序要连接的spark集群的Master的URL,如果设置* 为local,则代表Spark程序在本地运行,特别适合于机器配置条件非常差的初学者* */val conf = new SparkConf() //创建SparkConf对象conf.setAppName("Wow My First Spark App!") //设置应用程序的名称,在程序运行的监控界面可以看到conf.setMaster("local") //此时程序在本地运行,不需要安装Spark集群/*** 第二步:创建SparkContext对象* SparkContext是Spark程序所有功能的唯一入口,无论采用Scala、Java、Python、R等都必须有一个SparkContext* SparkContext核心作用:初始化Spark应用程序运行所需要的核心组件,包括DAGScheduler、TaskScheduler、SchedulerBackEnd* 同时还会负责Spark程序往Master注册程序等* SparkContext是整个Spark应用程序中最为至关重要的一个对象 */val sc = new SparkContext(conf) //创建SparkContext对象,通过传入SparkConf实例,来定制Spark运行的具体参数和配置信息/*** 第三步:根据具体的数据来源(HDFS、HBase、Local FS、DB、S3等)通过SparkContext来创建RDD* RDD的创建基本有三种方式:根据外部的数据来源(例如HDFS)、根据Scala集合、由其他RDD操作* 数据会被RDD划分成为一系列的Partitions,分配到每个Partition的数据属于一个Task的处理范畴*/val lines = sc.textFile("F:/channel.txt",1)//读取本地文件并设置为1个Partition/*** 第四步:对初始的RDD进行Transformation级别的处理,例如map、filter等高阶函数等的编程,来进行具体的数据计算* 第4.1步:将每一行的字符串拆分成单个的单词*/val words = lines.flatMap(_.split(" ")) //对每一行的字符串进行单词拆分,并把所有行的拆分结果通过flat合并成一个大的单词集合/*** 第4.2步:在单词拆分的基础上对每个单词实例计数为1,也就是word => (word, 1)*/val pairs = words.map( word => (word, 1))/*** 第4.3步:在单词实例计数为1基础上,统计每个单词在文件中出现的总次数*/val wordCounts = pairs.reduceByKey(_+_) //对相同的key,进行Value的累加(包括Local和Reducer级别同时Reduce)wordCounts.foreach(wordNumberPair => println(wordNumberPair._1 + " : " + wordNumberPair._2))sc.stop()}
}

3000门徒内部训练绝密视频(泄密版)第8课:彻底实战详解使用IDE开发Spark程序相关推荐

  1. 3000门徒内部训练绝密视频(泄密版)第3课:Scala中函数式编程彻底精通及Spark源码阅读

    Scala中函数式编程彻底精通及Spark源码阅读 函数可以不依赖于类,函数可以作为函数的参数,函数可以作为函数的返回值 =>表明对左面的参数进行右面的加工 函数赋值给变量需要在函数名后面加空格 ...

  2. 3000门徒内部训练绝密视频(泄密版)第5课:彻底精通Scala隐式转换和并发编程及Spark源码阅读

    彻底精通Scala隐式转换和并发编程及Spark源码阅读 Akka ,Scala内部并发 隐式转换.隐式类.隐式参数 可以手动指定某种类型的对象或类转换成其他类型的对象或类.转换的原因是假设写好接口 ...

  3. 3000门徒内部训练绝密视频(泄密版)第1课:大数据最火爆语言Scala光速入门

    大数据最火爆语言Scala光速入门 scala 可以使用java的库 scala 的工厂方法:apply 条件表达式有返回值 数组可以用to ,箭头 <- 最后一行内容的值是整个代码块的返回值 ...

  4. 3000门徒内部训练绝密视频(泄密版)第2课:Scala面向对象彻底精通及Spark源码阅读

    Scala面向对象彻底精通及Spark源码阅读 不用写public class中的public class Person {private var myName = "flink" ...

  5. 多媒体库SDL以及实时音视频库WebRTC中的多线程问题实战详解

    目录 1.概述 2.开源跨平台多媒体库SDL介绍 3.开源音视频实时通信库WebRTC介绍 4.在国产化Linux桌面系统中遇到的SDL多线程问题 5.在给WebRTC新增外部音频插件库时遇到的多线程 ...

  6. 《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》——2.1节简析Android安装文件...

    本节书摘来自异步社区<Android多媒体应用开发实战详解:图像.音频.视频.2D和3D>一书中的第2章,第2.1节简析Android安装文件,作者 王石磊 , 吴峥,更多章节内容可以访问 ...

  7. 范里安中级微观经济学(第9版)分析笔记和课后习题答案解析-完整版 范里安《微观经济学:现代观点》(第9版)笔记和课后习题详解!

    范里安中级微观经济学(第9版)分析笔记和课后习题答案解析-完整版  摘自硕达学习网 范里安<微观经济学:现代观点>(第9版)笔记和课后习题详解! 最新电子书(题库) 范里安微观经济学现代观 ...

  8. 《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》——2.3节简析Android安装文件...

    本节书摘来自异步社区<Android多媒体应用开发实战详解:图像.音频.视频.2D和3D>一书中的第2章,第2.3节简析Android安装文件,作者 王石磊 , 吴峥,更多章节内容可以访问 ...

  9. 数学物理方法pdf_《数学物理方法》周明儒(第2版)补充材料与习题详解

    说明: 1.本资源为江苏师范大学 周明儒 教授所编著<数学物理方法>(第二版)配套电子资源: 2.由于Abook限制下载原版PDF,故本人高清截图保存整理为PDF格式供使用该书的同学使用, ...

最新文章

  1. 查询数据的排序的位置_简单选择排序C++实现
  2. HDU - 6016 Count the Sheep(二分图+思维)
  3. 因果推断在阿里文娱用户增长中的应用
  4. 线程让出实验【RT-Thread学习笔记 4】
  5. Linux设置ssh免密码登录
  6. 图片句柄_PC微信逆向:自动保存加密的聊天图片
  7. 汇编语言第二课作业2.3
  8. influxDB框架 数据存储 TSM 数据操作等详解
  9. ubuntu下jmxtrans 安装
  10. 【大数据部落】基于随机森林、svm、CNN机器学习的风控欺诈识别模型
  11. 基础知识:BT1120
  12. react 中加载静态word文档(或加载静态的html文件)
  13. hanlp 如何快速从分词仅取出人名
  14. 信诺计算机怎么算一次函数,excel用一次函数进行计算的方法步骤
  15. 深度优先搜索与广度优先搜索
  16. 【黄啊码】vue配合PHP实现导出excel进度条显示
  17. 后端基础PHP——简介及基本函数(上)
  18. matlab中做出球面和圆柱面,如何用MATLAB在直角坐标系下绘制球面x^2+y^2+z^2=4被柱面(x-1)^2+y^2=1截得的部分曲面.急!谢谢...
  19. 语音怎么在线转文字,语音转文字的小技巧
  20. 机器学习最易懂之EM算法详解与python实现

热门文章

  1. 如何得知 CPU 使用率
  2. css 流式布局 九宫格布局
  3. fail2ban 使用
  4. 照片形状拼贴制作软件:contour collage for mac
  5. python做花瓣飘落的背景_jquery+css3实现网页背景花瓣随机飘落特效
  6. PMP证书的有效期是多久?
  7. urdf to webots
  8. 【HTML——简易 飞机大战 小游戏(效果+代码)】
  9. Boruta:one of the most effective feature selection algorithms
  10. 盘点一个批量提取pdf文件目标信息的实用案例