自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 Hive 优化

Hive 优化文章目录Hive 优化1.抓取策略2. Hive 本地模式3. 并行模式4. Hive严格模式5. Hive排序6. Hive join7. Map-Side聚合8. 合并小文件9. 合理设置Map以及Reduce的数量10. JVM重用Hive 是基于 HDFS 构建的数据仓库,HSQL 的计算底层默认依赖于 MapReduce;一般Hive的执行效率主要取决于SQL语句的执行效率,因此,Hive的优化的核心思想是 MapReduce 的优化。1.抓取策略对于一些简单的查询语句,

2021-06-25 19:15:05 157

原创 Hive 分区 && 分桶

Hive 分区 && 分桶分区1. 作用为什么会有分区?​ 表的数据量越来越大,hive 在查询时通常会全表扫描,效率低。所以引入分区技术,提高查询的效率;使用分区列的值作为目录,进行存放数据;这样在存储时,使用分区列进行过滤,只要扫描对应目录下的数据,提高查询的效率。使用:PARTIONED BY(col_name data_type)2. 分类静态分区分区列的值,在新增分区和加载分区数据时,必须指定分区名。动态分区分区列的值,非确定,在导入数据的

2021-06-25 18:58:57 217

原创 Hive 窗口函数

Hive 窗口函数窗口是由一个 OVER 子句 定义的多行记录。聚合函数对其所作用的每一组记录输 出一条结果,而窗口函数对其所作用的窗口中的每一行记录输出一条结果.sql标准允许将所有聚合函数用作开窗函数,用over关键字区分开窗函数和聚合函数基本语法窗口函数的语法分为四个部分:函数子句:指明具体操作,如sum-求和,first_value-取第一个值;partition by子句:指明分区字段,如果没有,则将所有数据作为一个分区;order by子句:指明了每个分区排序的

2021-06-25 17:17:54 191

原创 Spark Shuffle 原理

Spark Shuffle 原理文章目录Spark Shuffle 原理Shuffle 中的两个 stageShuffle 中的任务数reduce 拉取数据的过程HashShuffle未经优化的 HashShuffleManager优化的 HashShuffleManagerSortShuffleSortShuffleManagerBypassSortShuffleManagerShuffle 中的两个 stage在 stage 划分时,最后一个 stage 为 ResultStage,其他的则都为

2021-06-23 19:23:52 136

原创 HDFS 基本原理和读写流程

HDFS 基本原理和读写流程文章目录HDFS 基本原理和读写流程基本架构NameNode 持久化Hdfs 中的 (Secondary NameNode)SNN存储模型HDFS 写流程Block的副本放置策略HDFS 读流程基本架构HDFS是一个 主从(Master/Slaves)架构 , 由一个NameNode和一些DataNode组成,NameNode为主;面向文件包含:文件数据(data)和文件元数据(metadata);NameNode负责存储和管理文件元数据(在内存),并维护了一个层次型的

2021-06-21 20:13:05 312

原创 Kafka 副本机制

Kafka 副本机制文章目录Kafka 副本机制Kafka 副本机制In-sync Replicas(ISR)Unclean 领导者选举(Unclean Leader Election)副本机制:通常是指分布式系统在多台网络互联的机器上保存有相同的数据拷贝副本机制能带来的好处:1. 提供数据冗余。即使系统部分组件失效,系统依然能够继续运转,因而增加了整体可用性以及数据持久性。2. 提供高伸缩性。支持横向扩展,能够通过增加机器的方式来提升读性能,进而提高读操作吞吐量。3. 改善数据局部性。允许将数

2021-06-21 20:10:44 269

原创 MapReduce Shuffle 原理以及优化

MapReduce Shuffle 原理以及优化文章目录MapReduce Shuffle 原理以及优化1、MapReduce 编程模型2、MapReduce 的实现原理3、MapReduce 过程优化1、MapReduce 编程模型Hadoop MapReduce 是一个分布式计算框架,用于编写批处理应用程序;数据以一条记录为单位经过 map 方法映射成KV,相同的key为一组,这一组数据调用一次 reduce方法,在方法内迭代计算着一组数据。2、MapReduce 的实现原理Client

2021-06-19 21:22:21 339 3

原创 Kafka 特点简介

HDFS 基本原理和读写流程文章目录HDFS 基本原理和读写流程基本架构存储模型HDFS 写流程Block的副本放置策略HDFS 读流程基本架构HDFS是一个 主从(Master/Slaves)架构 , 由一个 NameNode 和一些 DataNode 组成,NameNode为主;面向文件包含:文件数据(data)和文件元数据(metadata);NameNode 负责存储和管理文件元数据(在内存),并维护了一个层次型的文件目录树;DataNode 负责存储文件数据(block块),并提供bl

2021-06-19 16:01:36 469

原创 Shell - awk 原理和使用

Shell - awk 原理和使用awk 原理awk 的工作原理是按行读取数据,寻找符合匹配模式的数据,进行对应的操作awk 基本结构包括模式匹配(用于找到要处理的行)和处理过程(即处理动作)awk有两个特殊的模式:BEGIN和END,他们被放置在没有读取任何数据之前以及在所有数据读取完成以后执行。提示:awk读取文件内容的每一行时,将对比改行是否与给定的模式相匹配,如果匹配则执行处理过程,否则对该行不做任何处理。如果没有指定处理脚本,则把匹配的行显示到标准输出,即默认处理动作是print

2021-05-25 14:03:00 147

原创 Spark 性能调优之并行度设置

Spark 性能调优之并行度设置Spark 作业中的并行度什么是并行度Spark 在每一个 stage 中 task 数量,就称为这个 stage 上的并行度;为什么要设置并行度如果你按照集群能给的最大资源给当前 Spark 应用分配资源,但是你的并行度却没有达到你分配的资源,没有充分利用资源;假设:现在已经在spark-submit 脚本里面,给我们的spark作业分配了足够多的资源,比如50个executor ,每个executor 有10G内存,每个executor

2021-05-19 13:10:37 2479

原创 Spark 性能调优之资源分配

Spark 性能调优之资源分配在资源足够的情况下,分配更多的机器、CPU、内存,对性能的提升是显而易见的;因此,进行性能调优的时候,首先第一步,我觉得,就是要来调节最优的资源配置;在这个基础之上,如果说你的spark作业,能够分配的资源达到了你的能力范围的顶端之后,无法再分配更多的资源了,公司资源有限;那么才是考虑去做后面的这些性能调优的点资源分配分配哪些executor 数量每个 executor 的核心数每个 executor 的内存driver 的内存怎么分配

2021-05-19 11:38:06 103

原创 Spark 闭包、累加器和广播变量

Spark 闭包、累加器和广播变量先看以下的 Spark 代码:object Test { def main(args:Array[String]):Unit = { val conf = new SparkConf().setAppName("test"); val sc = new SparkContext(conf) val rdd = sc.parallelize(List(1,2,3)) var counter = 0 //w

2021-05-19 10:32:39 170

原创 零拷贝知识的学习

零拷贝知识的学习零拷贝传统数据传输零拷贝的实现mmap() + write()sendfile()总结零拷贝预备知识:Linux 按照特权等级,把进程的运行空间分为内核空间和用户空间,分别对应着下图中, CPU 特权等级的 Ring 0 和 Ring 3内核空间(Ring 0)具有最高权限,可以直接访问所有资源,而用户空间(Ring 3)只能访问受限资源,不能直接访问内存等硬件设备,必须通过系统调用陷入到内核中,才能访问这些特权资源。CPU 上下文: 当前进程在 CPU 中寄存器和程序计数器的

2021-05-14 13:51:02 70

原创 wait && notify 的两个应用

wait && notify 的两个应用1.模式之保护性暂停2.模式之生产者消费者1.模式之保护性暂停​ 用在一个线程等待另外一个线程的执行结果要点:有一个结果需要从一个线程传递到另一个线程,让他们关联同一个 GuardedObject如果有结果不断从一个线程到另一个线程那么可以使用消息队列(见生产者/消费者)JDK 中,join 的实现、Future 的实现,采用的就是此模式实现: class GuardedObject { private Obje

2021-02-01 17:13:42 68

原创 多线程输出方式控制

经典必刷编程题库:找出最长不重复字符字串题目描述代码求解题目描述给定一个字符串,找出最长的不具有重复字符的子串的长度。例如,“abcabcbb”不具有重复字符的最长子串是“abc”,长度为3。对于“bbbbb”,最长的不具有重复字符的子串是“b”,长度为1。代码求解代码如下(示例):import java.util.*; public class Solution { /** * * @param s string字符串 * @return int整

2021-02-01 17:10:09 105

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除