Spark
文章平均质量分 93
Spark
YaoYong_BigData
这个作者很懒,什么都没留下…
展开
-
Spark Streaming状态管理函数updateStateByKey和mapWithState
updateStateByKey可以在指定的批次间隔内返回之前的全部历史数据,包括新增的,改变的和没有改变的。由于updateStateByKey在使用的时候一定要做checkpoint,当数据量过大的时候,checkpoint会占据庞大的数据量,会影响性能,效率不高。如果不输入新的数据,会一直展示之前的结果查看checkpoint文件夹下,发现有很多类似于checkpoint-1542090065000的状态文件这些checkpoint文件都是小文件,对hdfs的压力很大,怎么解决呢?下文会讲。...原创 2022-08-12 18:13:28 · 10955 阅读 · 1 评论 -
SparkSql中的窗口函数
在Spark中,使用SQL或者DataFrame都可以操作窗口。窗口的使用有两个步骤1)定义窗口规则;2)定义窗口函数。在不同的范围内统计名次时,窗口函数非常得力。控制哪些行会被放在一起,会将同一个分组的数据放在同一台机器中处理窗口函数会针对每一个组中的每一条数据进行统计聚合或者rank,一个组又称为一个Frame分组由两个字段控制,Partition在整体上进行分组和分区而通过Frame可以通过当前行来更细粒度的分组控制"行号"来表示。通过某一个列的差值来表示。Partition。............原创 2022-07-20 16:37:42 · 1972 阅读 · 0 评论 -
Spark中RDD、DataFrame和DataSet的区别与联系
RDD代表弹性分布式数据集。它是记录的只读分区集合。RDD是Spark的基本数据结构。它允许程序员以容错方式在大型集群上执行内存计算。与RDD不同,数据以列的形式组织起来,类似于关系数据库中的表。它是一个不可变的分布式数据集合。Spark中的DataFrame允许开发人员将数据结构(类型)加到分布式数据集合上,从而实现更高级别的抽象。ApacheSpark中的Dataset是DataFrameAPI的扩展,它提供了类型安全(type-safe),面向对象(object-oriented)的编程接口。...原创 2022-07-14 19:43:33 · 6985 阅读 · 0 评论 -
Spark中groupByKey() 和 reduceByKey() 和combineByKey()
在一个(K,V)的RDD上调用,返回一个(K, Iterator[V])的RDD,也是对每个key进行操作,但只生成一个sequence,groupByKey本身不能自定义函数,需要先用groupByKey生成RDD,然后才能对此RDD通过map进行自定义函数操作。 是对key的value进行merge操作,在一个(K,V)的RDD上调用,返回一个(K,V)的RDD,使用指定的reduce函数,将相同key的值聚合到一起,与groupByKey类似,reduce任务的个数可以通过第二个可选的原创 2022-07-03 18:16:57 · 2644 阅读 · 0 评论 -
详解RDD基本概念、RDD五大属性
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD是spark core的底层核心。Dataset:RDD 可以不保存具体数据, 只保留创建自己的必备信息, 例如依赖和计算函数;RDD 也可以缓存起来, 相当于存储具体数据。Distributed: RDD 支持分区, 可以运行在集群中。Resilient:RDD 支持高效的容错;RDD 中的数据即可以缓存在内存中原创 2022-07-02 18:31:45 · 13407 阅读 · 0 评论 -
详解Spark运行模式(local+standalone+yarn)
Spark 有多种运行模式:1.可以运行在一台机器上,称为 Local(本地)运行模式。2.可以使用 Spark 自带的资源调度系统,称为 Standalone 模式。3.可以使用 Yarn、Mesos、Kubernetes 作为底层资源调度系统,称为 Spark On Yarn、Spark On Mesos、Spark On K8S。 Driver 是 Spark 中的主控进程,负责执行应用程序的 main() 方法,创建 SparkContext 对象,负责与 Spark 集群进行原创 2022-06-30 19:36:36 · 4902 阅读 · 0 评论