spark
sun_0128
这个作者很懒,什么都没留下…
展开
-
基于Spark Streaming 的流数据处理和分析
一.流介绍1.流是什么数据流数据的流入数据的处理数据的流出随处可见的数据流电商网站、日志服务器、社交网络和交通监控产生的大量实时数据流处理是一种允许用户在接收到的数据后的短时间内快速查询连续数据流和检测条件的技术2.为什么需要流处理它能够更快地提供洞察力,通常在毫秒到秒之间大部分数据的产生过程都是一个永无止境的事件流要进行批处理,需要存储它,在某个时间停止数据收集,并处理数据流处理适合时间序列数据和检测模式随时间推移3.流处理应用场景股市监控交通监控计算原创 2020-08-20 12:14:37 · 1733 阅读 · 0 评论 -
Kafka核心原理
为什么使用消息中间件异步调用同步变异步应用解耦/可扩展性提供基于数据的接口层流量削峰缓解瞬时高流量压力可恢复性顺序保障消息中间件工作模式点对点模式:一对一,消费者主动拉取数据发布订阅模式一对多,数据生产后,推送给所有订阅者消息中间件中的术语Broker:消息服务器,提供核心服务Producer:消息生产者Consumer:消息消费者Topic:主题,发布订阅模式下的消息统一汇集地Queue:队列,点对点模式下的消息队列Apache KafkaKafka是一种高吞吐量原创 2020-08-19 09:55:06 · 425 阅读 · 0 评论 -
Flume日志收集
文章目录一.Apache Flume简介二.Flume架构三.Source1.exec source2.spooling directory source3.http source4.avro source5.taildir source更多案例参考官方文档四.Channel五.Sink1.avro sink2.HDFS sink3.Hive sink六.多层代理(拓扑结构)七.Flume Sink组八.拦截器(Interceptors)一.Apache Flume简介Flume用于将多种来源的日志以流原创 2020-08-17 13:20:47 · 605 阅读 · 1 评论 -
spark sql 之 DSL风格 练习mysql50题
Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 2.2.0 /_/Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_221)Type in expressions to ha.原创 2020-08-16 15:41:59 · 3198 阅读 · 1 评论 -
Spark数据分析及处理
用例1:数据清洗读入日志文件并转化为RDD[Row]类型按照Tab切割数据过滤掉字段数量少于8个的对数据进行清洗按照第一列和第二列对数据进行去重过滤掉状态码非200过滤掉event_time为空的数据将url按照”&”以及”=”切割保存数据将数据写入mysql表中日志拆分字段:event_timeurlmethodstatussipuser_uipaction_prependaction_client用例2:用户留存分析计算用户的次日留存率求当原创 2020-08-15 14:47:04 · 5127 阅读 · 0 评论 -
Spark SQL精华 及与Hive的集成
SQL on HadoopSQL是一种传统的用来进行数据分析的标准Hive是原始的SQL-on-Hadoop解决方案Impala:和Hive一样,提供了一种可以针对已有Hadoop数据编写SQL查询的方法Presto:类似于Impala,未被主要供应商支持Shark:Spark SQL的前身,设计目标是作为Hive的补充Phoenix:基于HBase的开源SQL查询引擎Spark SQL前身Shark的初衷:让Hive运行在Spark之上是对Hive的改造,继承了大量Hive代码,给优化和原创 2020-08-13 12:16:14 · 647 阅读 · 0 评论 -
spark sql练习
文章目录一、环境要求二、数据描述三、功能要求(要求使用分别使用 RDD 和 Spark SQL 两种方式实现)1、农产品市场个数统计2、农产品种类统计3、价格区间统计,计算山西省每种农产品的价格波动趋势,即计算每天价格均值,并将结果输出到控制台上一、环境要求Hadoop+Hive+Spark+HBase 开发环境。二、数据描述1、数据背景该数据每日进行采集汇总。数据范围涵盖全国主要省份(港澳台、西藏、海南暂无数据)的 180+的大型农产品批发市场,380+的农产品品类(由于季节性和地域性等特原创 2020-08-12 18:52:41 · 2545 阅读 · 1 评论 -
graphx项目实战 — 航班飞行网图分析
一.任务描述需求概述探索航班飞行网图数据构建航班飞行网图使用Spark GraphX完成下列任务统计航班飞行网图中机场的数量统计航班飞行网图中航线的数量计算最长的飞行航线(Point to Point)找出最繁忙的机场找出最重要的飞行航线(PageRank)找出最便宜的飞行航线(SSSP)二.具体分析问题分析1:数据探索下载数据链接: https://pan.baidu.com/s/1fubnDM_sggw_MWS9iI1AoQ 提取码: xnxv数据格式:文件格式为CSV原创 2020-08-11 09:35:49 · 4512 阅读 · 2 评论 -
基于Spark GraphX 的图形数据分析
为什么需要图计算许多大数据以大规模图或网络的形式呈现许多非图结构的大数据,常会被转换为图模型进行分析图数据结构很好地表达了数据之间的关联性图(Graph)的基本概念图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种网状数据结构通常表示为二元组:Gragh=(V,E)可以对事物之间的关系建模应用场景在地图应用中寻找最短路径社交网络关系网页间超链接关系图的术语-1顶点(Vertex)边(Edge)Graph=(V,E)集合V={v1,v2,v3}集合E={原创 2020-08-10 18:31:40 · 3176 阅读 · 0 评论 -
Apache Spark 分布式计算原理
Spark WordCount运行原理为什么需要划分Stage数据本地化移动计算,而不是移动数据保证一个Stage内不会发生数据移动RDD的依赖关系Lineage:血统、遗传RDD最重要的特性之一,保存了RDD的依赖关系RDD实现了基于Lineage的容错机制依赖关系宽依赖窄依赖宽依赖对比窄依赖宽依赖对应shuffle操作,需要在运行时将同一个父RDD的分区传入到不同的子RDD分区中,不同的分区可能位于不同的节点,就可能涉及多个节点间数据传输当RDD分区丢失时,Spark会原创 2020-08-06 14:35:38 · 380 阅读 · 0 评论 -
spark基础练习
在名为sparkwork.txt中有如下内容:班级ID 姓名 年龄 性别 科目 成绩12 张三 25 男 chinese 5012 张三 25 男 math 6012 张三 25 男 english 7012 李四 20 男 chinese 5012 李四 20 男 math 5012 李四 20 男 english 5012 王芳 19 女 chinese 7012 王芳 19 女 math 7012 王芳 19 女 english 7013 张大三 25 男 chinese 60原创 2020-08-04 22:39:31 · 4613 阅读 · 0 评论 -
Apache Spark基础及架构
文章目录一.为什么使用Spark二.Spark简介1.发展历程2.Spark优势3.Spark技术栈4.Spark环境部署5.Spark初体验6.Spark架构设计7.Spark架构核心组件8.Spark API三.核心API:RDD1.RDD概念2.RDD与DAG3.RDD的五大特性4.RDD编程流程5.RDD创建6.RDD分区与RDD的操作7.RDD转换算子8.RDD动作算子一.为什么使用SparkMapReduce编程模型的局限性繁杂:只有Map和Reduce两个操作,复杂的逻辑需要大量的样板原创 2020-08-04 12:43:49 · 813 阅读 · 0 评论 -
scala扩展
一.模式匹配1.match表达式类似Java switch语句能处理任何类型不需要break能够生成值//基本模式匹配def matchTest(x: Int): String = x match { case 1 => "one" case 2 => "two" case _ => "many"}matchTest(3) // manymatchTest(1) // one//模式守卫(在模式后面加上if 条件)def matchTest2(原创 2020-07-31 12:29:28 · 2838 阅读 · 0 评论 -
scala OOP面向对象
文章目录一.类(class)二.单例对象 object三.特质 trait四.其他1.内部类2.样例类 case class3.泛型类4.类型边界5.型变6.包与包对象五.练习一.类(class)类通过class关键字定义类通过new关键字创建实例类拥有成员变量和方法类的成员默认为public,也支持private、protected类中无法定义静态成员变量和方法类无需明确定义构造方法,通过构造参数列表声明为类的一部分类成员访问修饰符JavaModifierClass原创 2020-07-30 11:37:49 · 3447 阅读 · 0 评论 -
scala函数
文章目录一.Java Lambda表达式二.Scala方法和函数三.Scala函数练习练习1:函数定义练习2:匿名函数练习3:高阶函数练习4:嵌套函数一.Java Lambda表达式函数式接口一种只含有一个抽象方法声明的接口可以使用匿名内部类来实例化函数式接口的对象通过Lambda表达式可以进一步简化代码Lambda语法(parameters) -> expression(parameters) ->{ statements;...... }示例如下://Java8 方原创 2020-07-29 10:08:29 · 3216 阅读 · 0 评论 -
使用scala练习Java经典习题之循环
文章目录1.兔子生孩子2.求101-200素数个数3.水仙花数4.正整数分解质因数5.求最大公约数和最小公倍数6.求1000内完数7.猴子吃桃问题8.企业奖金问题9."1234"这4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?10.判断某年某月某日是这一年的第几天11.求第五人岁数1.兔子生孩子package com.sunyong/**一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生* 一对小兔子,而一对兔子从出生后第3个月起每月生一对原创 2020-07-17 10:04:36 · 9268 阅读 · 0 评论 -
使用Scala练习java经典习题之循环+数组
文章目录1.百钱买百鸡1.百钱买百鸡在这里插入代码片2、鸡兔同笼。鸡兔一共有50只,脚一共有160只,问鸡和兔各多少只?要求鸡兔至少一样一只3、公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少种可能PS:请使用循环获得所有可能并插入数组,使用遍历数组的方式输出4、请输入一个正整数年份,判断是否是闰年?在此基础上,随机生成一个int型二维数组(最大为4位数),计算其中闰年的个数,并输出该年份5、随机生成一个short型一维数组,从控制台输入一个数值,遍历数组查找,如果找到原创 2020-07-17 22:50:19 · 9802 阅读 · 0 评论 -
scala中关键字implicit的常用用法详解
文章目录一.隐式参数和隐式值二.隐式函数,用于类型不匹配时自动转换类型或关联两个类三.隐式类1.定义隐式类2.创建隐式类的参数类型对象,调用隐式类方法一.隐式参数和隐式值用法如下:package Implicitobject ImplicitDemo_value_parameter { def main(args: Array[String]): Unit = { //声明隐式值,注意同种类型只能声明一个值,否则运行错误(ambiguous--模糊的无法确定到底引用哪个值)原创 2020-07-28 19:22:09 · 4014 阅读 · 0 评论 -
scala高阶函数练习
文章目录1.编写函数values(fun:(Int)=>Int,low:Int,hight:Int)该函数输出一个集合,对应给定区间内给定的给定函数的输入和输出比如values(x=>x*x,-5,5)应该产出一个对偶集合(-5,25)(-4,16)(-3,9)...(5,25)2.如何用reduceLeft得到数组中的最大元素3.用to和reduceLeft实现阶乘函数,不得使用循环或递归4.编写函数largest(fun:(Int)=>Int,inputs:Seq[Int]),输出在给原创 2020-07-25 09:01:54 · 8183 阅读 · 6 评论 -
scala数组练习
文章目录1.有一个10个位置的数组,第一个位置放的是3,后面每个位置都是前面一个位置的两倍加1,打印这个数组,然后将数组中奇数位置和偶数位置呼唤2.随机10个0到100之间的整数放入数组中,再将数组中的最大值和最小值去掉剩下的数放入新数组,数的顺序不能改变,打印数组3.输入一个整数,将这个整数的所有约束放入一个数组,打印数组1.有一个10个位置的数组,第一个位置放的是3,后面每个位置都是前面一个位置的两倍加1,打印这个数组,然后将数组中奇数位置和偶数位置呼唤package com.sunyong//原创 2020-07-24 11:20:15 · 14082 阅读 · 0 评论 -
scala练习
下表是学生信息表,包括姓名,性别,年龄1.使用studentList集合存储以上内容,遍历studentList打印输出2.创建集合boyList、girlList、girlgt18List 、top3List、girltop3List3.把所有男生存入boyList ,女生存入girlList ,大于等于18岁的女生存入girlgt18List4.年龄最大的3个学生放入top3List,年龄最大的3个女生放在girltop3List5.计算所有学生的平均年龄,所有男生的平均年龄,所有女生的平均原创 2020-07-23 08:37:28 · 13672 阅读 · 0 评论 -
scala数组集合函数大全
方法名描述返回值类型举例结果apply(int i)按下标取数组数据 同a(i)数组元素类型Array(1 ,2,3,4,5).apply(3)res45: Int = 4++合并数组返回一个新数组,若不同类型以左边为准左边类型Array(1 ,2) ++ List(7,8,9)res44: Array[Int] = Array(1, 2, 7, 8, 9)union合并两个序列,同操作符 ++左边类型Array(1,2) union List(...原创 2020-07-22 21:22:36 · 8965 阅读 · 0 评论 -
scala入门
文章目录一.Scala概述1.特性2.Scala变量与常量二.Scala流程控制语句1.if2.Scala循环控制三.Scala数组,元组,集合1.Scala数组2.Scala元组3.Scala集合4.Scala Stream & Vector一.Scala概述1.特性面向对象特性每个值都是对象对象的数据类型和行为由类(Class)和特征(Trait,类似于interface)描述利用特征实现混入式多重继承函数式编程每个函数都是一个值支持高阶函数、柯里化(currying)、原创 2020-07-18 10:01:21 · 570 阅读 · 0 评论