![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark
wlk_328909605
抱你于怀,寄你于心。跃然屏上,付我青春韶华,换你真情相待。
展开
-
Spark的体系结构与安装部署以及Spark HA的实现、Spark Shell的操作
1.Spark的体系结构官方的一张图: 这里的描述很笼统,只说除了互相的调用关系。这是自己找的一张图: 注意:sc对象是spark自己创建的,每次启动spark的时候都会初始化。不需要继续创建,是程序的入口。2.Spark的安装和部署2.1 安装 Spark的官网:http://spark.apache.org/downloads.html 注意:下载的时候,...原创 2018-09-17 18:48:32 · 159 阅读 · 0 评论 -
Spark SQL简介及以编程方式实现SQL查询
SparkSQL官网1.什么是SparkSQL?Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。2.SparkSQL的特点:我们已经学习了Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执...原创 2018-09-29 08:57:00 · 2205 阅读 · 0 评论 -
中国移动运营分析实时监控平台之SparkStreaming实时数据分析并将最后结果存储到redis中
业务概况通过实时的分析用户的流量数据,获取用户动态的充值的订单量、充值全过程的平均时长、以及某段时间充值的成功率等。首先解析数据格式,从标签体系库中截取出需要的字段值,使用SparkStreaming的对抽取出来的属性加以处理。1)统计每个市的充值失败的次数,并以地图的方式显示数据的分布情况。2)以市为维度,统计订单量排名前5的市,并统计每个市的订单的成功率。3)实时统计全省的每分钟的充值...原创 2018-10-17 21:03:16 · 2978 阅读 · 0 评论 -
中国移动运营分析实时监控平台之数据采集及SparkStreaming直连Kafka
数据采集阶段通过自定义source,将产生的日志从服务器上缓存到kafka中,并记录自定义的Offset。部分数据:{"bussinessRst":"0000","channelCode":"0705","chargefee":"10000","clientIp":"222.214.151.245","gateway_id"原创 2018-10-17 20:58:58 · 1462 阅读 · 1 评论 -
Spark实现根据学科取得最受欢迎的老师的topn(小根堆和自定义排序实现)
第三步优化:假如数据量非常大的话,toList方法会产生内存溢出,使用treeSet方法可以解决treeset既可以实现排序,还能有效的控制输出的大小。package day02import java.net.URLimport org.apache.spark.rdd.RDDimport org.apache.spark.{Partitioner, SparkConf, Spark...原创 2018-09-28 10:35:18 · 578 阅读 · 0 评论 -
Spark实现根据学科取得最受欢迎的老师的topn(简单优化及自定义分区)
Spark实现TopN问题这是数据:http://bigdata.edu360.cn/laozhanghttp://bigdata.edu360.cn/laozhanghttp://bigdata.edu360.cn/laozhaohttp://bigdata.edu360.cn/laozhaohttp://bigdata.edu360.cn/laozhaohttp://bigdat...原创 2018-09-28 10:33:15 · 1166 阅读 · 3 评论 -
Spark任务执行流程
这是Spark官方给的图,大致意思就是:四个步骤1.构建DAG(有向无环图)(调用RDD上的方法)2.DAGScheduler将DAG切分Stage(切分的依据是Shuffle),将Stage中生成的Task以TaskSet的形式给TaskScheduler3.TaskScheduler调度Task(根据资源情况将Task调度到相应的Executor中)4.Executor接收Task...原创 2018-09-27 11:34:34 · 7864 阅读 · 0 评论 -
Spark RDD的缓存机制、CheckPoint机制(容错机制)和RDD的依赖关系
RDD的缓存机制RDD通过cache方法或者persist方法可以将前面的计算结果缓存,但并不是立即缓存,而是在接下来调用Action类的算子的时候,该RDD将会被缓存在计算节点的内存中,并供后面使用。注意:缓存结束后,不会产生新的RDD缓存有可能丢失,或者存储存储于内存的数据由于内存不足而被删除,RDD的缓存容错机制保证了即使缓存丢失也能保证计算的正确执行。通过基于RDD的一系列转换,丢失...原创 2018-09-20 17:23:33 · 1911 阅读 · 0 评论 -
Spark中mapPartitions和mapPartitonsWithIndex的区别
RDD Programming Guide简单翻译下 : 返回通过函数func传递源的每个元素形成的新分布式数据集。mapPartiitons:和map类似,但是运行在每一个分区或者block上,所以当在类型T的RDD上运行时,函数必须是一个迭代器mapPartitionsWithIndex:和mapPartiitons类似,但也为func提供了表示分区索引的整数值,因此当在类型T的RD...原创 2018-09-20 09:56:26 · 377 阅读 · 0 评论 -
Spark中groupByKey和reduceByKey的区别
重点比较reduceByKey和groupByKey:相同点:1,都作用于 RDD[K,V]2,都是根据key来分组聚合3, 默认,分区的数量都是不变的,但是都可以通过参数来指定分区数量不同点:1, groupByKey默认没有聚合函数,得到的返回值类型是RDD[ k,Iterable[V]]2, reduceByKey 必须传聚合函数 得到的返回值类型 RDD[(K,聚合...原创 2018-09-18 17:13:08 · 7002 阅读 · 2 评论 -
Spark实现根据IP地址求归属地以及将结果保存到MySql数据库中(Spark广播变量的使用)
需要:各大网站每天都会产生大量的数据,数据中有用户访问网站的时间戳,IP地址,访问的域名,浏览器信息等等,现要求分析各个省份的上网人数(实际上就是在ip规则中查询用户IP的地址,再进行聚合)实现:1、 加载城市ip段信息,获取ip起始数字和结束数字,经度,维度2、 加载日志数据,获取ip信息,然后转换为数字,和ip段比较3、 比较的时候采用二分法查找,找到对应的经度和维度4、 然后对经度...原创 2018-09-25 12:49:57 · 1121 阅读 · 0 评论 -
SparkSQL实现根据IP地址查询归属地且保存到Mysql中及优化
**需要:**各大网站每天都会产生大量的数据,数据中有用户访问网站的时间戳,IP地址,访问的域名,浏览器信息等等,现要求分析各个省份的上网人数(实际上就是在ip规则中查询用户IP的地址,再进行聚合)实现:1、 加载城市ip段信息,获取ip起始数字和结束数字,经度,维度2、 加载日志数据,获取ip信息,然后转换为数字,和ip段比较3、 比较的时候采用二分法查找,找到对应的经度和维度4、 然...原创 2018-09-29 11:12:28 · 1301 阅读 · 0 评论