初识 Spark 大数据处理,目前还只是小白阶段,初步搭建起运行环境,慢慢学习之。

本文熟悉下 Spark 数据处理的几个经典案例。

首先将 Scala SDK 的源码导入 IDEA,方便查看和调试代码,具体参考:intellij idea查看scala sdk的源代码

WordCount

WordCount 号称大数据界的 HelloWorld,初识大数据代码,从 WordCount 开始,其基本流程图如下:

相关代码如下:

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext object WordCount {
def main(args: Array[String]) {
if (args.length < 1) {
System.err.println("Usage: <file>")
System.exit(1)
} // 创建 SparkConf
val conf = new SparkConf()
conf.setAppName("WordCount")
.setMaster("local") // 创建 SparkContext
val sc = new SparkContext(conf) // 数据处理
val line = sc.textFile(args(0))
line.flatMap(_.split("\\s+"))
.map((_, 1))
.reduceByKey(_+_)
.collect.foreach(println) // 关闭 SparkContext
sc.stop
}
}

注意几个问题:

  • 正则表达式 "\\s+" 匹配任意空白字符
  • SparkConf Name 和 Master Level 必须设置,本地调试应 local 或 local[i],i 表示线程数(worker threads)
  • args(0) 表示待测试的文件,eg,"sqh.txt"
  • 无论本地测试还是集群测试必须有 SparkContext 的实例

其中,textFile() 方法用于从文件创建 RDD,RDD 的每个元素对应文件中的每一行。源码定义如下:

def textFile(path : scala.Predef.String, minPartitions : scala.Int = { /* compiled code */ })
: org.apache.spark.rdd.RDD[scala.Predef.String] = { /* compiled code */ }

词频统计示意图

其中,假定 分片M=5,分区R=3,有6台机器,一台master,5台slaver。

参考:

Spark - 经典案例的更多相关文章

  1. Spark之权威指南经典案例

    hadoop权威指南上有一个求历史最高温度的经典案例,源数据如下: -- sample.txt0067011990999991950051507004+68750+023550FM-12+038299 ...

  2. 汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等

    转自:http://www.51testing.com/html/83/n-3718883.html 有人认为编程是一门技术活,要有一定的天赋,非天资聪慧者不能及也.非也,这是近几年,对于技术这碗饭有 ...

  3. javascript的理解及经典案例

    js的简介: JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言. 你可以利用JavaScript轻易的做出亲切的欢迎讯息.漂亮的数字钟.有广告效 ...

  4. jQuery基础的工厂函数以及定时器的经典案例

    1. jQuery的基本信息:  1.1 定义: jQuery是JavaScript的程序库之一,它是JavaScript对象和实用函数的封装, 1.2 作用: 许多使用JavaScript能实现的交 ...

  5. Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)

    Linux运维之道(大量经典案例.问题分析,运维案头书,红帽推荐) 丁明一 编   ISBN 978-7-121-21877-4 2014年1月出版 定价:69.00元 448页 16开 编辑推荐 1 ...

  6. 经典案例:那些让人赞不绝口的创新 HTML5 网站

    在过去的10年里,网页设计师使用 Flash.JavaScript 或其他复杂的软件和技术来创建网站.但现在你可以前所未有的快速.轻松地设计或创造互动的.有趣好看的网站.如何创建?答案是 HTML5 ...

  7. Altera OpenCL用于计算机领域的13个经典案例(转)

    英文出自:Streamcomputing 转自:http://www.csdn.net/article/2013-10-29/2817319-the-application-areas-opencl- ...

  8. php中foreach()函数与Array数组经典案例讲解

    //php中foreach()函数与Array数组经典案例讲解 function getVal($v) { return $v; //可以加任意检查代码,列入要求$v必须是数字,或过滤非法字符串等.} ...

  9. 阿里云资深DBA专家罗龙九:云数据库十大经典案例分析【转载】

    阿里云资深DBA专家罗龙九:云数据库十大经典案例分析 2016-07-21 06:33 本文已获阿里云授权发布,转载具体要求见文末 摘要:本文根据阿里云资深DBA专家罗龙九在首届阿里巴巴在线峰会的&l ...

随机推荐

  1. 【HDU 6191】Query on A Tree 【可持久化字典树】

    题目 给出一棵有n个结点的树,树根是1,每个结点给出一个value.然后给出q个询问,每个询问给出两个整数u和x,你要在以u结点为根的子树中找出一个结点v,使得val[v] xor x最大, 并输出这 ...

  2. SQL Server XML变量转为Json文本

    1 -- create function 2 create function [dbo].[fnXmlToJson] (@XmlData xml) 3 returns nvarchar(max) 4 ...

  3. sqlserver镜像相关资料

    本文出处:http://blog.csdn.net/dba_huangzj/article/details/35995083 镜像(Mirroring) SQL Server镜像简介 计划搭建SQL ...

  4. array_column()

    array_column($arr,value) 返回输入数组中某个单一列的值. array_column($arr,value,key) 返回输入数组中某个单一列的值,value是值,key是键.

  5. ubuntu 16.04 nfs服务的搭建

    nfs服务是实现Linux和Linux之间的文件共享,nfs服务的搭建比较简单. 现在介绍如何在ubuntu16.04系统中搭建nfs服务,ubuntu的搭建比红帽的还要简单. 1.安装nfs服务 s ...

  6. [Token] 从index.jsp中获取Token

    import com.eviware.soapui.support.GroovyUtils def groovyUtils = new GroovyUtils( context ) def holde ...

  7. CENTOS 使用 MUTT发送邮件

    有些时候我们需要在Centos服务器上发送邮件,例如备份MySQL数据库并发送到指定邮箱,这里我们就说下如何从Centos的shell命令发送邮件. 检查.安装.启动sendmail //检查 ps ...

  8. JVM致命错误日志(hs_err_pid.log)解读

    JVM致命错误日志(hs_err_pid.log)解读 摘自:https://blog.csdn.net/u013938484/article/details/51811400 2016年07月02日 ...

  9. STL中 map 和 multimap

    1. 所在头文件<map>. 命名空间std, 声明如下: namespace std{ template <class Key,class T, class Compare = l ...

  10. dubbo获取错误ip

    JAVA_OPTIONS="-Ddubbo.protocol.host=192.168.1.111