Spark
文章平均质量分 70
RayfunC
一个懂艺术, 会写文的攻城狮
展开
-
spark利用cache优化shuffle
cache表,数据放内存,数据被广播到Executor,将多份数据进行关联是数据处理过程中非常普遍的用法,不过在分布式计算系统中,这个问题往往会变的非常麻烦,因为框架提供的 join 操作一般会将所有数据根据 key 发送到所有的 reduce 分区中去,也就是 shuffle 的过程。造成大量的网络以及磁盘IO消耗,运行效率极其低下,这个过程一般被称为 reduce-side-join。如果其中有张表较小的话,我们则可以自己实现在 map 端实现数据关联,跳过大量数据进行 shuffle 的过程,原创 2021-01-02 18:41:13 · 713 阅读 · 0 评论 -
spark缓存机制cache,persist和checkpoint
避免spark每次都重算RDD以及它的所有依赖,cache()、persist()、 checkpoint()。1、cache():会被重复使用,但是不能太大的RDD,将其cache()到内存当中,catch()属于 memory only 。cache 是每计算出一个要 cache 的 partition 就直接将其 cache 到内存中。缓存完之后,可以在任务监控界面storage里面看到缓存的数据。2、persist():可以设置缓存级别,如只在内存,只在磁盘,内存磁盘都用。MEMORY_原创 2021-01-02 18:16:07 · 1127 阅读 · 1 评论 -
Spark 中 reduceByKey 和 countByKey 的区别
相同点:两者都会根据 key 来分组不同点:reduceByKey:Transormation 类算子,根据用户传入的聚合逻辑对数组内的数据进行聚合, 懒策略, 延迟计算countByKey:Action 类算子,不需要用户传入聚合逻辑,直接对数组内的数据进行统计记录数, 触发计算data.countByKey () 相当于 data.reduceByKey (_+_...原创 2019-04-26 20:39:51 · 714 阅读 · 0 评论 -
Spark 函数 updateStateByKey 解析
updateStateByKey 操作允许您在使用新的信息持续更新时保持任意状态1、定义状态 - 状态可以是任意数据类型。2、定义状态更新功能 - 使用函数指定例如以 DStream 中的数据进行按 key 做 reduce 操作,然后对各个批次的数据进行累加对于有状态操作,要不断的把当前和历史的时间切片的 RDD 累加计算,随着时间的流逝⌛,计算的数据规模会变得越来越大upda...原创 2019-04-15 19:11:42 · 1372 阅读 · 0 评论 -
Spark 中 DataFrame 与 Pandas 中 DataFrame 对比表格
出处:http://www.lining0806.com/spark 与 pandas 中 dataframe 对比 Pandas Spark 工作方式 单机 single machine tool,没有并行机制 parallelism 不支持 Hadoop,处理大量数据有瓶颈 分布式并行计算框架,内建并行机制 parallelism,所有的数据和操作...转载 2019-03-11 11:56:46 · 321 阅读 · 0 评论 -
Spark 中的 aggregateByKey 最清晰阐释
直译过来是 按照 Key 进行聚合源码如下:说明:第一个参数是, 给每一个分区中的每一种key一个初始值第二个是个函数, Seq Function, 这个函数就是用来先对每个分区内的数据按照 key 分别进行定义进行函数定义的操作第三个是个函数, Combiner Function, 对经过 Seq Function处理过的数据按照 key 分别进行进行函数定义的操作也可...原创 2019-03-06 20:27:17 · 2273 阅读 · 3 评论 -
十分详细的 Spark 在线教程
感谢 zhouzhihubeyond 的原创教程,在这里根据他博客中部分已经有 Spark 的相关文章了部分整理Spark 修炼之道(进阶篇)——Spark 入门到精通(16 讲)第一阶段 环境篇Spark 修炼之道(进阶篇)——Spark 入门到精通:第一节 Spark 1.5.0 集群搭建【点击打开】Spark 修炼之道(进阶篇)——Spark 入门到精通:第二节 Hadoop...原创 2019-03-06 16:39:39 · 16703 阅读 · 4 评论 -
Spark 中 Yarn 运行模式
简介spark 的 yarn 运行模式根据Driver 在集群中的位置分成两种:1)yarn-client客户端模式2)yarn-cluster集群模式yarn 模式和 standalone 模式不同,standalone 模式需要启动 spark 独立集群,这样 SparkContext 才能与 Master 进行交互通信。而 yarn 模式的资源管理全部托管给的 Reso...原创 2019-03-05 12:10:58 · 1202 阅读 · 0 评论 -
RDD、DataFrame、DataSet对比与相互转换
RDD (Spark1.0) —> Dataframe(Spark1.3) —> Dataset(Spark1.6) 三者的共性1、RDD、DataFrame、Dataset 全都是 spark 平台下的分布式弹性数据集,为处理超大型数据提供便利2、三者都有惰性机制,在进行创建、转换,如 map 方法时,不会立即执行,只有在遇到 Action 如 foreach 时,三...原创 2019-01-30 15:54:18 · 873 阅读 · 0 评论 -
Spark 应用程序的执行过程
1)构建 Spark Application 的运行环境(启动 SparkContext),SparkContext 向资源管理器(可以是 Standalone、Mesos 或YARN)注册并申请运行 Executor 资源;2)资源管理器分配 Executor 资源并启动 StandaloneExecutorBackend,Executor 运行情况将随着心跳发送到资源管理器上;3)Sp...原创 2019-01-24 08:34:00 · 1027 阅读 · 0 评论 -
Spark 使用 parquet 列式存储格式优化速度
1)如果说 HDFS 是大数据时代分布式文件系统首选标准,那么 parquet 则是整个大数据时代文件存储格式实时首选标准。2)速度更快:从使用 spark sql 操作普通文件 CSV 和 parquet 文件速度对比上看,绝大多数情况会比使用 csv 等普通文件速度提升10倍左右,在一些普通文件系统无法在 spark上成功运行的情况下,使用 parquet 很多时候可以成功运行。3)p...原创 2019-01-24 08:31:11 · 3715 阅读 · 1 评论