
Spark
小朋友2D
nobody
展开
-
Spark SQL关于minus的问题记录
今天写了一个曲折的SQL,大概是这样-- 有可能是我给人家写复杂了withorg_year_view as( select distinct org, year from A)select *from Aminus-- find data that cannot be used because of missing data in formula select f....原创 2019-11-29 11:22:16 · 1359 阅读 · 0 评论 -
深入理解SparkSession(未完成)
文章目录版本变化spark1.xspark2.x与SparkContext的区别和联系区别联系SparkSession的作用功能简述成员属性简述版本变化spark1.x在Spark1.6中使用的为Hive on spark,主要是依赖hive生成spark程序,有两个核心组件SQLcontext和HiveContext。// 创建SparkConfval sparkConf = new ...原创 2019-07-12 11:32:53 · 743 阅读 · 0 评论 -
Spark的HashShuffleManager与SortShuffleManager原理
调优概述大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占到一小部分而已。因此大家务必把握住调优的基本...转载 2019-07-11 22:39:58 · 449 阅读 · 0 评论 -
SQL在Spark的解析过程(三)
文章目录全阶段代码生成阶段 - WholeStageCodegen为什么需要代码生成表达式代码生成(expression codegen)全阶段代码生成(Whole-stage Code Generation)代码编译SQL 执行全阶段代码生成阶段 - WholeStageCodegen前面我们已经介绍了从逻辑计划生成物理计划(Physical Plan),但是这个物理计划还是不能直接交给 S...转载 2019-07-06 11:35:04 · 874 阅读 · 0 评论 -
SQL在Spark的解析过程(二)
文章目录优化逻辑计划阶段 - Optimizer谓词下推列裁剪常量替换常量累加生成可执行的物理计划阶段 - SparkPlanner优化逻辑计划阶段 - Optimizer在前文的绑定逻辑计划阶段对 Unresolved LogicalPlan 进行相关 transform 操作得到了 Analyzed Logical Plan,这个 Analyzed Logical Plan 是可以直接转换...转载 2019-07-06 11:22:04 · 845 阅读 · 0 评论 -
SQL在Spark的解析过程(一)
文章目录一条SQL在Spark之旅SQL 解析阶段 - SparkSqlParser绑定逻辑计划阶段 - AnalyzerSpark SQL 是 Spark 众多组件中技术最复杂的组件之一,它同时支持 SQL 查询和 DataFrame DSL。通过引入了 SQL 的支持,大大降低了开发人员的学习和使用成本。目前,整个 SQL 、Spark ML、Spark Graph 以及 Structure...转载 2019-07-06 10:58:11 · 1509 阅读 · 0 评论 -
Spark分组排序TopN
文章目录数据源目标解决方法spark corespark core数据源# f://data.txt# className, studentName, scorec1 a 85c2 b 77c3 c 88c1 d 22c1 e 66c3 f 95c3 g 54c2 h 91c2 i 66c1 j 54c1 k 65c2 l 41c4 m 65目标对班级进行分组...原创 2019-06-27 15:22:58 · 1193 阅读 · 1 评论 -
深入理解SparkEnv
SparkEnv.scala注释SparkEnv.scalaprivate[spark] def createDriverEnv( conf: SparkConf, isLocal: Boolean, ... // 每个executor中的core的数量 numCores: Int, ... create( ...原创 2019-06-12 00:22:46 · 656 阅读 · 0 评论 -
Spark on Yarn的内存分配
文章目录1 初始化配置2 ApplicationMaster(AM)的相关配置2.1 amMemory2.2 amMemoryOverhead1 初始化配置// 初始化yarn clientprivate val yarnClient = YarnClient.createYarnClient// 初始化hadoop配置private val hadoopConf = new YarnC...原创 2019-06-12 23:34:15 · 613 阅读 · 0 评论 -
Spark的内存管理
文章目录回顾MemoryManager抽象父类官方描述内存池StaticMemoryManager,静态内存管理官方描述StaticMemoryManager伴生对象存储空间分配执行空间分配StaticMemoryManager类构造器堆外内存重新分配UnifiedMemoryManager,统一内存管理回顾在深入理解SparkEnv一文中,无论是driver或者是executor,在申请内存...原创 2019-06-12 17:29:17 · 233 阅读 · 0 评论 -
SparkSQL访问Hive遇到的问题及解决方法
需要先将hadoop的core-site.xml,hive的hive-site.xml拷贝到project中测试代码def main(args: Array[String]): Unit = { val spark: SparkSession = SparkSession .builder() .appName("TopNApp") .master(...原创 2019-05-30 12:33:52 · 4926 阅读 · 0 评论 -
spark2.4.3变化、编译过程以及异常处理
spark2.4.3发布于2019.05.07发布日志spark2.4.3版本是一个维护性版本,在稳定性上做了修正。该版本是基于2.4分支的maintenance分支进行的开发,官方强烈推荐2.4用户升级到该版本。spark2.4.3将scala的默认版本从scala2.12换成了2.11,scala2.11也是之前2.x版本使用的默认scala版本,不过只有2.4.2的使用了scala2...原创 2019-05-17 18:34:45 · 2533 阅读 · 4 评论 -
spark集群模式的概述(cluster mode overview)
文章来自http://spark.apache.org/docs/latest/cluster-overview.htmlComponentspark应用程序以独立进程的集合的方式运行在集群中,通过driver program中的SparkContext对象进行协调。SparkContext能够连接多种不同类型的cluster manager(如standalone,mesos,yarn)...翻译 2019-05-17 14:36:41 · 748 阅读 · 0 评论 -
深入了解Spark RDD(未完成)
概述 RDD(Resilient Distributed Dataset,弹性分布式数据集),是spark最基本的抽象数据类型。用来表示一个不可变的,多分区的,可以并行操作的元素集合。 其中,PairRDDFunctions包含的算子只能被键值对RDD调用所以类似(1,2,3)是无法调用的 DoubleRDDFunctions包含的算子只能被元素内均为Double类型的RDD调用 当基本的...原创 2019-05-21 17:35:50 · 275 阅读 · 0 评论