![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
§蜗牛§
这个作者很懒,什么都没留下…
展开
-
谈谈RDD、DataFrame、Dataset的区别和各自的优势
在spark中,RDD、DataFrame、Dataset是最常用的数据类型,本博文给出笔者在使用的过程中体会到的区别和各自的优势共性:1、RDD、DataFrame、Dataset全都是spark平台下的分布式弹性数据集,为处理超大型数据提供便利2、三者都有惰性机制,在进行创建、转换,如map方法时,不会立即执行,只有在遇到Action如foreach时,三者才会开始遍历运算,极端情况下,...转载 2018-10-31 10:42:06 · 196 阅读 · 0 评论 -
spark任务执行过程,源码分析和on Yarn调度过程
一、spark源码分析执行流程当spark遇到action类算子,开始调起任务1.Action类型的算子触发job的执行。源码中调用了SparkContext的runJob()方法,根进源码发现底层调用的是DAGScheduler的runJob()方法。2.DAGScheduler会将我们的job按照宽窄依赖划分为一个个stage(每个stage根据RDD的Partition的个数决定tas...转载 2018-11-21 15:55:30 · 1401 阅读 · 1 评论 -
spark 两种内存管理模式原理、源码以及conf参数调节
spark 两种内存管理模式原理、源码以及conf参数调节写在前面:两种内存管理模式都将内存分为storge内存区域和execution内存区域,storge内存区域主要负责持久化RDD数据、和broadcast数据(广播数据),execution内存区域主要负责缓存在shuffle过程中中间数据。一、静态内存管理静态内存管理是saprk1.6版本之前所用的内存管理模式,spark以后的版...原创 2018-11-29 14:36:42 · 720 阅读 · 0 评论 -
impala parquet实现分桶查询
由于impala是没有分桶表的,但是会遇同一个partition中数据量非常巨大,但是某些查询只需要取出个别记录,就需要从海量数据中查询出一两条数据,这样就会造成资源浪费。于是就需要有一种机制,像hive表中可以实现分桶查询:create table teacher(id int,name string) clustered by (id) into 4 buckets但是impala不支...原创 2019-05-06 11:42:50 · 2004 阅读 · 0 评论