- 博客(11)
- 收藏
- 关注
原创 SparkSQL概述
文章目录什么是SparkSQL什么是DataFrame什么是DataSetRDD,DataFrame和DataSet之间的关系什么是SparkSQLSpark SQL是Spark用来处理结构化数据的一个模块,它提供了2个编程抽象:DataFrame和DataSet,并且作为分布式SQL查询引擎的作用。Hive是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写Map...
2020-04-25 20:32:58 301
原创 spark累加器
spark中有三大数据结构,它们分别是RDD(弹性分布式数据集)、累加器(分布式只写变量)和广播变量(分布式只读变量)。spark累加器就是定义在驱动程序的一个变量,但是在集群中的每一个任务都会有一份新的副本。在各个任务中更新副本的值都不会对驱动程序中的值产生影响,只有到最后所有的任务都计算完成后才会合并每一个任务的副本到驱动程序。累加器的提示如下:spark有系统累加器,同时也支持自定义累加...
2020-04-22 15:28:36 1772
原创 RDD缓存和CheckPoint
RDD缓存RDD的缓存是把RDD保存在内存中,为后续重用提供数据支持。RDD的缓存可以提高系统的容错性。RDD的缓存提供了两种方法。分别是persist方法和cache方法,那么这两个方法有什么区别呢?通过查看源码发现,cache方法最终也是调用persist方法:cache调用的是persist默认参数的方法,所以cache和不带参数的persist方法都是使用StorageLevel.M...
2020-04-22 00:08:11 241
原创 RDD的任务划分
RDD任务切分中间分为:Application、Job、Stage和Task。Application->Job->Stage-> Task每一层都是1对n的关系。1)Application:初始化一个SparkContext即生成一个Application一般一个spark程序就是一个任务。2)Job:一个Action算子就会生成一个Job,一个spark程序会有多个行动Ac...
2020-04-21 20:39:42 398
原创 RDD的依赖关系
文章目录Lineage(血统)窄依赖宽依赖DAG(有向无环图)Lineage(血统)在spark中,数据的处理和计算都是通过RDD的转换进行的。由于RDD是不可变的,在转换的过程中就会生成新的RDD。而这些RDD的顺序就形成了类似血缘的关系,新的RDD会依赖于旧的RDD。spark会将这一血缘关系记录下来,这样就能提高容错性能,当集群中有节点宕机后造成RDD部分数据丢失,就可以根据这个Line...
2020-04-21 18:21:19 813
原创 RDD中的函数和属性传递
在spark中,RDD的创建和初始化是在Driver中执行的,而实际操作是在Executor中进行。如果要涉及到传递一些方法或者属性的时候,那么就要序列化之后才能进行传递。下面用两个例子来进行说明:函数的传递先看代码:object SerializableTest { def main(args: Array[String]): Unit = { val conf...
2020-04-21 17:33:56 196
原创 Scala变量使用的注意事项
声明变量时,类型可以省略(即类型推断)即可以像下图一样,声明变量时,可以写变量的类型,也可以不写,Scala有类型推断机制,会推断变量的类型。object scala_var { def main(args: Array[String]): Unit = { var a: String = "123" var b = 5 }}确定类型后,就...
2020-04-14 14:21:38 185
原创 RDD编程之RDD的创建
RDD创建在Spark中创建RDD的创建方式可以分为三种:从集合中创建RDD;从外部存储创建RDD;从其他RDD创建。创建RDD之前要先创建spark上下文对象:val conf = new SparkConf().setMaster("local").setAppName("WorldCount")val sc = new SparkContent(conf)(1)从内存中创建...
2020-04-08 23:19:07 560
原创 Spark Hello World以及RDD简述
RDD是什么RDD英文单词全称为Resilient Distributed Datase,叫做弹性分布式数据集,是Spark中最基本的数据抽象。代码中是一个抽象类,它代表一个不可变、可分区、里面的元素可并行计算的集合。不可变、可分区和可并行计算下面再详细叙述。RDD特点(1)分区spark可以把读进来的数据装进RDD里面,因为spark支持集群方式部署的,spark的Driver会把RD...
2020-04-08 00:00:16 336
原创 Spark on YARN任务提交流程
Spark on YARN是spark运行在yarn上,其中有yarn-client和yarn-cluster两种模式,它们的区别在于Driver运行的结点位置。yarn-client模式yarn-client模式下的spark的Driver运行在客户端,适用于交互、调试,希望立即看到app的输出。yarn-cluster模式yarn-cluster模式下的spark的Driver运行在...
2020-04-03 21:57:08 2530
原创 Flink的WaterMark详解
WaterMark是什么?在了解Flink的WaterMark之前先要了解Flink的时间语义。在Flink里面有三种时间语义:①Even Time:事件创建的时间,时间在数据里面。②Ingestion Time:数据进入Flink的时间。③Processing Time:处理数据的本地系统时间。由于网络或者分布式系统的原因,在进入Flink的数据里面有的数据是乱序的,如果乱序了,要...
2020-04-02 23:23:21 1107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人