摘要: Spark中文件格式、压缩和序列化 1.1 文件格式 1.1.1 行存储: **特点:**适合OLTP,写密集的场景(或是要求所有列的查询); **text:**spark直接读入并按行切分;需要保持一行的size在合理的范围;支持有限的schema; **csv:**常用于日志收集,写性能比读性能 阅读全文
posted @ 2021-09-07 23:53 平凡的神灯 阅读(1930) 评论(1) 推荐(0) 编辑
摘要: Spark中 join的原理 一、SparkSQL中join的原理 1.1 SparkSQL的5种join策略 概述:spark将参与join的两张表抽象为流式遍历表(streamIter)和查找表(buildIter),通常streamIter为大表,buildIter为小表;通过遍历stream 阅读全文
posted @ 2021-09-07 23:47 平凡的神灯 阅读(2159) 评论(1) 推荐(1) 编辑
摘要: 数据倾斜 前言:数据倾斜通常在shuffle时发生,因此解决数据倾斜的思路有三个: 1,把小表广播避免shuffle; 2,把大key加随机前缀打散; 3,把大key过滤出来单独处理; 而触发shuffle的算子可以分为三种: **分组(group):**通用方法是:给大key加随机前缀,然后分两阶 阅读全文
posted @ 2021-09-07 23:38 平凡的神灯 阅读(539) 评论(0) 推荐(0) 编辑
摘要: Spark 实战 一、Spark分桶写出到HDFS **Spark没有分桶sink:**Spark并没有像Flink那样提供分桶sink,所以就需要自定义OutputFormat类; **自定义output类:**MultipleTextOutputFormat // 并行写出,每个分区同时写数据到 阅读全文
posted @ 2021-09-07 23:23 平凡的神灯 阅读(1096) 评论(0) 推荐(0) 编辑
摘要: Spark调优 一、代码规范 调优顺序:spark任务的调优顺序依次是代码规范、资源参数(并行度)、数据倾斜、shuffle调优、业务层面; 1.1 避免创建重复RDD 对于新手,或者一些较为复杂的spark任务,可能会忘记之前对于某一份数据已经创建过一个RDD,而重复创建,造成不必要的计算; 1. 阅读全文
posted @ 2021-09-07 23:12 平凡的神灯 阅读(5746) 评论(0) 推荐(1) 编辑
摘要: YARN原理 [TOC] 一、YARN是什么 概述: yarn是一个资源调度平台,负责为运算的程序提供运算所需的资源,相当于一个分布式的操作系统,而MapReduce就相当于运行在操作系统上的一个应用程序。 来由: yarn是hadoop2.0加入的一个框架,用来取代hadoop1.0中的 JobT 阅读全文
posted @ 2020-04-08 21:23 平凡的神灯 阅读(1298) 评论(0) 推荐(0) 编辑
摘要: MapReduce原理及源码解读 [TOC] 一、分片 灵魂拷问:为什么要分片? 分而治之: MapReduce(MR)的核心思想就是分而治之;何时分,如何分就要从原理和源码来入手。做为码农大家都知道,不管一个程序多么复杂,在写代码和学习代码之前最重要的就是搞懂输入和输出,而MR的输入其实就是一个目 阅读全文
posted @ 2020-04-01 18:26 平凡的神灯 阅读(3255) 评论(1) 推荐(2) 编辑
摘要: MapReduce基础 [TOC] 一、关于MapReduce 1.1 为什么要MapReduce 单机资源有限: 由于单台计算机的资源有限,计算能力不足以处理海量数据;所以需要多台计算机组成分布式集群来处理海量数据。 分布式计算较复杂: 在分布式计算中,计算任务的分发,各个主机之间的协作;程序的启 阅读全文
posted @ 2020-03-14 17:05 平凡的神灯 阅读(939) 评论(2) 推荐(0) 编辑
摘要: 1,hostname(主机名) 查看主机名:hostname 临时修改主机名:hostname hadoop1 永久修改主机名:vi etc/sysconfig/network : [NETWORKING=yes HOSTNAME=hadoop1] CentOS7:修改 /etc/hostname文 阅读全文
posted @ 2020-03-13 23:29 平凡的神灯 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 关于JDBC ··· 概念: · JDBC是java数据库连接的一套标准规范,可以用一套API统一操作各种数据库。 ··· 关系: · java.sql.*中定义的是一套接口,各大数据库厂商提供的驱动来实现这个接口,从而达到兼容。 1,使用JDBC ··· 使用步骤: 1,注册驱动。将驱动jar包加 阅读全文
posted @ 2020-03-11 23:43 平凡的神灯 阅读(111) 评论(0) 推荐(0) 编辑