随笔分类 - Spark
离线 数据处理
摘要:Spark面试题(约9.8w字) Spark的任务执行流程 Spark的运行流程 Spark的作业运行流程是怎么样的? Spark的特点 Spark源码中的任务调度 Spark作业调度 Spark的架构 Spark的使用场景 Spark on standalone模型、YARN架构模型(画架构图)
阅读全文
摘要:Hive on Spark配置 兼容性说明 注意:官网下载的 Hive3.1.2 和 Spark3.0.0 默认是不兼容的。 因为 Hive3.1.2 支持的 Spark 版本是2.4.5,所以需要我们重新编译Hive3.1.2版本。 编译步骤:官网下载Hive3.1.2源码,修改pom文件中引用的
阅读全文
摘要:Map FlatMap groupBy filter sample 根据指定的规则从数据集中抽取数据 val dataRDD = sparkContext.makeRDD(List( 1,2,3,4),1)// 抽取数据不放回(伯努利算法)// 伯努利算法:又叫 0、1 分布。例如扔硬币,要么正面,
阅读全文
摘要:数据清洗的目的是为了保证数据质量,包括数据的完整性、唯一性、一致性、合法性和权威性。数据清洗的结果是对各种脏数据进行对应的处理方式,从而得到标准的、干净的、连续的数据,提供给数据统计和数据挖掘使用。 解决数据的完整性问题: (1) 通过其他信息不全;(2) 通过前后数据不全;(3) 如果实在无法不全
阅读全文
摘要:最主要的区别在于持久化只是将数据保存在 BlockManager 中,但是 RDD 的 lineage(血缘关系,依赖关系)是不变的。 但是 checkpoint 执行完之后,rdd 已经没有之前所谓的依赖 rdd了,而只有一个强行为其设置的 checkpointRDD,checkpoint 之后
阅读全文
摘要:应用场景:当 spark 应用程序特别复杂,从初始的 RDD 开始到最后整个应用程序完成有很多的步骤,而且整个应用运行时间特别长,这种情况下就比较适合使用 checkpoint 功能。 原因:对于特别复杂的 Spark 应用,会出现某个反复使用的 RDD,即使之前持久化过但由于节点的故障导致数据丢失
阅读全文
摘要:spark 非常重要的一个功能特性就是可以将 RDD 持久化在内存中。 调用 cache()和 persist()方法即可。cache()和 persist()的区别在于,cache()是 persist()的一种简化方式,cache()的底层就是调用 persist()的无参版本 persist(
阅读全文
摘要:Hadoop 底层使用 MapReduce 计算架构,只有 map 和 reduce 两种操作,表达能力比较欠缺,而且在 MR 过程中会重复的读写 hdfs,造成大量的磁盘 io 读写操作,所以适合高时延环境下批处理计算的应用; Spark 是基于内存的分布式计算架构,提供更加丰富的数据集操作类型,
阅读全文
摘要:在pom中添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan
阅读全文
摘要:pom 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan
阅读全文
摘要:任务提交指令: spark-submit --class orderinversioninspark.RelativeFrequency ~/soft/temp/bigdataAnalysis.jar 2 /input/inputfile.txt /outputfi 异常部分信息如下: Except
阅读全文