大数据开发
大数据开发专栏
zhou12314456
这个作者很懒,什么都没留下…
展开
-
2021-05-28
spark的工作流程是什么所有spark程序都离不开程序初始化和执行任务这两部分。一、程序初始化的流程 用户通过sparksubmit提交程序以后,driver程序开始运行(driver程序就是运行起来的提交的程序,可以理解为spark的main程序)。 driver程序运行起来会首先初始化sparkContext。 在SparkContext对象中做的最重要的事情就是构造出一个DAGSchedule和一个TaskScheduler。 上述的TaskSchedu原创 2021-05-28 22:36:00 · 191 阅读 · 0 评论 -
spark模块 spark的工作流程?
spark的工作流程是什么回答思路所有spark程序都离不开程序初始化和执行任务这两部分,所以该问题可以从这两部分开始回答。一、程序初始化的流程 用户通过sparksubmit提交程序以后,driver程序开始运行(driver程序就是运行起来的提交的程序,可以理解为spark的main程序)。 driver程序运行起来会首先初始化sparkContext。 ...原创 2020-01-12 22:40:39 · 280 阅读 · 0 评论 -
spark sql中如何解决并行度低的问题?
在spark设置并行度一般通过两种方式来设置:1.spark.default.parrallelism2.textFile()传入第二个参数,指定partition数量使用spark sql的时候会出现什么问题?但是如果使用来spark sql,用spark sql的那个stage的并行度,你没办法自己指定,因为spark sql 自己会默认根据hive表对应的hdfs的block,...原创 2020-01-05 07:17:06 · 3409 阅读 · 3 评论 -
spark--使用MapPartitions
什么是MapPartitions?简单的理解就是以分区为单位的map函数,假如该分区有10000条数据,如果调用map函数的话,每次调用传入一条数据,也就是需要调用10000次。但是如果调用MapPartitions函数的话,只需要调用一次就能把该分区的数据传进去。MapPartitions优势性能会高一些,特别适合类似于连接数据库的场景缺点因为要一次性加载分区内所有数据,容易...原创 2020-01-03 07:15:35 · 785 阅读 · 0 评论 -
spark优化之重构rdd架构及rdd持久化
什么是RDD持久化?spark最重要的一个功能,就是把一个数据集缓存在内存,磁盘或者分布式文件系统中。如果持久化了这一个数据集,那么对此数据集进行操作的其他操作可以直接复用该数据集,不用重新计算,这会使该操作执行的迅速。为啥要进行RDD持久化?因为要不进行持久化的话,如果多次对一个rdd执行算子的话,spark默认会重算。比如rdd3和rdd4同时基于rdd2做运算,如果不做持久化的话...原创 2020-01-01 23:43:03 · 175 阅读 · 0 评论 -
一文读懂spark数据倾斜
spark中出现数据倾斜的原因?前面分析过shuffle 的原理,主要就是按照key来进行values的数据的输出,拉取和聚合的。同一个key的value,肯定会分配到同一个reduce task进行处理的。为什么会出现数据倾斜呢,举个例子,假如多个key对应的values,一共是100万,但是可能某个key对应的value数量就已经到达了98万,占了绝大多数,另外两个key,可能各分配到了一...原创 2019-12-25 00:39:08 · 177 阅读 · 0 评论 -
HDFS数据块损坏是如何处理的?
HDFS数据块损坏是如何处理的?数据块损坏恢复流程在namenode中对于进行数据块副本的管理都是在FSnameSystem中,其中有一个成员变量 corruptReplicats,其中就存储着损坏数据与DataNode的映射,当某个数据块损坏后(DataNode可以通过数据块扫描器获知,通过心跳发送给namenode),namenode会将损坏的数据块加到corrupReplicats...原创 2019-12-14 20:36:14 · 2045 阅读 · 1 评论 -
presto指标监控
概述因为presto自带的web-ui界面局限性比较多,所以最近准备通过分析presto的相关指标来搭建一个presto的监控平台。主要用于presto基本信息的监控,性能信息的查询,异常预警。所以该篇及接下来的这几篇文章主要针对presto的相关指标及原理进行分析。presto相关指标说明接口http://127.0.0.1:8888/v1/cluster集群状态相关 ...原创 2019-11-06 23:21:16 · 4715 阅读 · 0 评论 -
presto使用及介绍
什么是prestopresto是一个开源的分布式的查询引擎,基于内存,它本身不接入数据,可以连接多种数据源,例如 Hive ,Mysql,Kafka,MongeDB等,一条Presto查询可以将多个数据源进行合并查询。preto适合OLAP,而非OLTP,所以不要将preto当成数据库来使用。presto优势低延迟,高并发,纯内存计算引擎,查询效率是hive的数十倍presto查...原创 2019-11-03 20:50:17 · 1968 阅读 · 1 评论 -
spark怎么分配资源
spark分配资源概述为啥要研究spark资源分配spark中最基本和最有效率的优化方式就是给spark程序分配更多的资源,所以这次讲如何更合适的给你的spark程序分配资源spark分配资源主要调整哪一些资源/home/zhou/spark/bin/spark-submit\--classcom.zhou12314.TestDemo\--num-executors...原创 2019-10-28 22:40:03 · 1365 阅读 · 0 评论 -
spark shuffle的相关总结
什么是shuffle?发生 shuffle 操作主要是以下几个算子:groupByKey、reduceByKey、countByKey、join,等等。什么时候需要shuffle writer?前一个stage的ShuffleMapTask进行shuffle write,把数据存储在blockManager上面,并且把数据位置元信息上报到driver的mapOutTrack组件中,下一...原创 2019-10-13 20:46:40 · 163 阅读 · 0 评论