spark
文章平均质量分 84
T D Z
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spark---- spark StandAlone的执行模式 Hadoop YARN回顾 Spark on YARN
Spark StandAlone的执行模式1. client模式spark stand alone提交到集群中, 默认的模式为 client模式, 默认参数是 --deploy-mode client列如/opt/apps/spark-3.0.1-bin-hadoop3.2/bin/spark-submit --master spark://linux01:8020 --class cn._51doit.spark.day01.WordCount --deploy-mode clien.原创 2021-01-03 00:01:08 · 290 阅读 · 0 评论 -
spark----自定义排序 分组TopN 类加器 序列化问题 Task线程安全问题 spark程序反面教材
自定义排序定义类,实现序列化和Comparable/Ordereded接口隐式转换借助元组来排序分组topN先分组,toList然后在内存中排序, 每个组中的数据比较大, 可能会产生内存溢出自定义分区器, 然后在分区内排序, 可以使用TreeSet先过滤,然后使用RDD排序, 会触发多次Acton累加器用来统计数据处理的条数序列化问题Dirver实例化一个类的实例, 在函数内容引用了这个实例, 伴随着Task发送到Executor, 每个Task...原创 2020-12-30 18:20:32 · 292 阅读 · 0 评论 -
spark----高级功能--> cache/persist checkpoint 广播变量
cache / persist (效率高)cache / persist :cache, persist使用场景: 一个application多次触发Action,为了复用前面RDD计算好的数据,避免反复读取HDFS(数据源) 中的数据和重复计算 可以将数据缓存到内存或磁盘[executor所在的磁盘],第一次触发Action才放入到内存或磁盘,以后再触发Action会读取缓存的RDD数据再进行操作并且复用缓存的数据 ...原创 2020-12-30 00:26:56 · 435 阅读 · 0 评论 -
Spark--MR和Spark区别 StandAlone client模式 shuffle Spark的集群安装 RDD maven初始化 java/scala编写 本地调试
面试题: MapReduce 和 Spark 的本质区别MR: 1. 只能在离线计算 2. 复杂计算逻辑,一个MR无法完成,需要多个MR按先 后顺序串联 3. 多个MR就要进行频繁的读写HDFS,效率低 4. 编程API不够灵活,只能在map和reduce自己实现逻辑Spark: 1. 即可以做离线计算,又可以做实时计算 2. 提供了抽象的数据集(RDD Dataset DataFrame DStream) ...原创 2020-12-20 22:30:49 · 338 阅读 · 3 评论 -
求topN的多种方法
求topN的多种方法第一种package cn.doit.spark.day05.demo02import cn.doit.SparkUtilimport org.apache.spark.rdd.RDD/* http://bigdata.51doit.cn/laozhang http://bigdata.51doit.cn/laozhang http://bigdata.51doit.cn/laozhao http://bigdata.51doit.cn原创 2020-12-29 00:08:28 · 417 阅读 · 0 评论 -
spark----RDD算子--Transformation之有shuffle
Transformation之有shuffle#2 产生Shuffle的 在分布式计算中,将数据按照一定的计算逻辑(分区器),将具有相同规律的数据通过网络传输到指定的位置,严格是说是下游的task到上游拉取数据,上游一个分区的数据给了下游多个分区,只要存在这种可能性,就是shuffle(数据被打散)reduceByKey(key相同聚合) groupByKey(根据key分组) groupBy(分组) distinct(过滤) aggregateByKey(key聚合) fol...原创 2020-12-29 12:24:52 · 432 阅读 · 0 评论 -
Spark----HashPartitioner源码分析 RDD算子之Transformation无shuffle
RDD的算子的分类Transformation: 即转换算子,调用转换算子会生成一个新的RDD, Transformation是 Lazy 的,不会触发job执行Action: 行动算子,调用行动算子会触发job执行, 本质上是调用了sc.runJob方法, 该方法从最后一个RDD,根据 其依赖关系,从后往前,划分Stage,生成一个TaskSet1.创建RDD的方法 (1)通过并行化方式,将Dirver端的集合转成RDD ,可以指定分区的数量val rdd: RDD[Int...原创 2020-12-23 00:48:27 · 388 阅读 · 0 评论 -
spark---- RDD算子分类 DAG shuffle stage dependency job Task TaskSet Application RDD算子之Action算子
Action算子 调用sc.ranjob方法,根据最后一个RDD从后往前推,触发Action就会生成DAG,切分Stage,生成TaskSet算子: aggregate foreach foreachPartition count sum fold reduce max min take first top takeOrderedaggregate 聚合 ,设置初始值,先局部聚合在全局聚合package cn.doit.spark.day04....原创 2020-12-26 22:53:27 · 353 阅读 · 0 评论
分享