- 博客(12)
- 收藏
- 关注
原创 JVM运行时数据区域
java虚拟机在运行时会把所管理的内存划分为若干不同的数据区域。这些区域都有各自的用途和创建以及销毁时间,有的随着虚拟机的启动而存在有的则依赖用户的线程的启动和结束而创建和销毁。根据SE7版的规定,虚拟机中会包括一下几个运行时的数据区域。程序计数器程序计数器是一块很小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器,在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的...
2019-03-03 08:26:06
230
原创 kafka的一些常用命令
kafka的一些常用命令启动zookeeperbin/zkServer.sh start conf/zoo.cfg &启动kafkabin/kafka-server-start.sh config/server.properties &创建topicbin/kafka-topics.sh --create --zookeeper localhost:2181...
2019-02-25 17:19:00
296
原创 Spark on Yarn的运行流程,以及两种模式的对比
Spark on Yarn的运行流程,以及两种模式的对比Yarn组件简介Spark组件Yarn组件简介ResourceManager:负责整个集群的资源管理和资源分配NodeManager:每个节点的资源和任务的管理器,负责启动和停止Container,并监视资源使用情况ApplicationMaster:Yarn中每个Application对应一个AM进程,获取资源后告诉NodeMan...
2019-01-21 14:53:21
4958
原创 spark性能优化: shuffle调优,数据倾斜调优
spark性能优化: shuffle调优,数据倾斜调优在日常开发spark任务的过程中,我们有时会发现在某个Stage中一个task或是几个task相对于其它的task的执行速度慢,那这个stage的执行时间就取决于最慢的task的执行时间,这个时候可能就发生了数据倾斜。何谓数据倾斜?数据倾斜指的是,并行处理的数据集中,某一部分(如Spark或Kafka的一个Partition)的数据显著多于...
2019-01-12 21:08:05
595
4
原创 MapReduce的Shuffle和Spark的Shuffle过程对比
MapReduce的Shuffle和Spark的Shuffle过程对比MapReduceMapReduceMapReduce计算模型分为map和reduce两个重要阶段,map是映射,负责数据的过滤分发。reduce是规约,负责数据的计算归并,map将数据传递给reduce,reduce需要通过shuffle来读取数据。map输出到reduce的输入广义的称之为Shuffle。Shuffle横...
2018-12-25 20:19:41
4161
2
原创 Spark容错机制,Lineage,Checkpoint
Spark容错机制,Lineage,CheckpointLineage机制Checkpoint机制一般来说,分布式数据集的容错性有两种方式:数据检查点和记录数据的更新。面向大树据处理检查点机制的代价更高,需要通过数据中心的网络连接在不同的机器之间复制数据,而网络的带宽往往比内存的带宽低的多,并且需要消耗大量的存储资源。因此spark选择了记录数据的更新,但是记录的太细也会消耗大量的资源。因此,...
2018-12-21 17:00:41
1063
原创 Spark的分布式运行模式 Local,Standalone, Spark on Mesos, Spark on Yarn, Kubernetes
Spark的分布式运行模式,Local,Standalone, Spark on Mesos, Spark on Yarn, KubernetesLocal模式Standalone模式Spark on Mesos模式Spark on YarnKubernetes模式Local模式Standalone模式的单机版,Master和Worker分别运行在一台机器的不同进程上Standalone模式...
2018-12-18 11:10:11
1635
原创 Spark stage划分和宽窄依赖
Spark stage划分和宽窄依赖宽窄依赖Stage的划分宽窄依赖RDD之间的有一系列的关系,主要分为宽依赖和窄依赖。下面是各自的定义,以及图解。窄依赖父RDD partition 和 子RDD partition之间的关系是一对一的。或者父RDD一个partition只对应一个子RDD的partition情况下的父RDD和子RDD关系是多对一的。不会有shuffle的产生。例如 ma...
2018-12-14 17:46:16
359
原创 Spark SQL 优化策略
Spark SQL 优化策略内存列式存储与内存缓存表列式存储压缩逻辑查询优化Join优化Spark SQL除了在查询上做了优化同时也在存储上做了优化,下面是sarpk sql的一些优化策略。内存列式存储与内存缓存表Spark SQL通过cacheTable将数据存储转换为列式存储,同时将数据加载到内存进行缓存。cacheTable相当于在分布式集群的内存物化试图,将数据进行缓存,这样迭代的或...
2018-12-13 23:19:44
809
原创 Spark SQL 查询引擎Catalyst分析
Spark SQL 查询引擎Catalyst分析Catalyst整体架构图Catalyst执行流程)Catalyst整体架构图Catalyst执行流程catalyst是spark sql的调度核心,遵循传统数据库查询解析步骤,对sql进行解析,转换为逻辑查询计划,物理查询计划,最终转化为Spark的DAG后在执行,下图为Catalyst的执行流程。SqlParser将SQL语句转换...
2018-12-12 22:40:30
634
原创 spark运行逻辑
spark运行逻辑1.架构2.运行逻辑1.架构Driver 运行Application的main函数和初始化SparkContextClient 用户提交作业的客户端Worker 集群中任何可以运行Application代码的节点,运行一个或多个Executor进程Executor 运行在Worker上的Task执行器,Executor启动线程池运行task,并且负责将数据写入内存或是磁...
2018-12-12 10:14:04
545
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人