摘要: Spark中文件格式、压缩和序列化 1.1 文件格式 1.1.1 行存储: **特点:**适合OLTP,写密集的场景(或是要求所有列的查询); **text:**spark直接读入并按行切分;需要保持一行的size在合理的范围;支持有限的schema; **csv:**常用于日志收集,写性能比读性能 阅读全文
posted @ 2021-09-07 23:53 平凡的神灯 阅读(1953) 评论(1) 推荐(0) 编辑
摘要: Spark中 join的原理 一、SparkSQL中join的原理 1.1 SparkSQL的5种join策略 概述:spark将参与join的两张表抽象为流式遍历表(streamIter)和查找表(buildIter),通常streamIter为大表,buildIter为小表;通过遍历stream 阅读全文
posted @ 2021-09-07 23:47 平凡的神灯 阅读(2202) 评论(1) 推荐(1) 编辑
摘要: 数据倾斜 前言:数据倾斜通常在shuffle时发生,因此解决数据倾斜的思路有三个: 1,把小表广播避免shuffle; 2,把大key加随机前缀打散; 3,把大key过滤出来单独处理; 而触发shuffle的算子可以分为三种: **分组(group):**通用方法是:给大key加随机前缀,然后分两阶 阅读全文
posted @ 2021-09-07 23:38 平凡的神灯 阅读(544) 评论(0) 推荐(0) 编辑
摘要: Spark 实战 一、Spark分桶写出到HDFS **Spark没有分桶sink:**Spark并没有像Flink那样提供分桶sink,所以就需要自定义OutputFormat类; **自定义output类:**MultipleTextOutputFormat // 并行写出,每个分区同时写数据到 阅读全文
posted @ 2021-09-07 23:23 平凡的神灯 阅读(1102) 评论(0) 推荐(0) 编辑
摘要: Spark调优 一、代码规范 调优顺序:spark任务的调优顺序依次是代码规范、资源参数(并行度)、数据倾斜、shuffle调优、业务层面; 1.1 避免创建重复RDD 对于新手,或者一些较为复杂的spark任务,可能会忘记之前对于某一份数据已经创建过一个RDD,而重复创建,造成不必要的计算; 1. 阅读全文
posted @ 2021-09-07 23:12 平凡的神灯 阅读(5797) 评论(0) 推荐(1) 编辑