累吗?累就对了,舒服是留给死人的...

.....说人好比盆中鲜花,生活就是一团乱麻,房屋修的再好那只是个临时住所,这个小盒才是你永久的家呀!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  Spark

1

摘要:上周Spark1.2刚发布,周末在家没事,把这个特性给了解一下,顺便分析下源码,看一看这个特性是如何设计及实现的。 /** Spark SQL源码分析系列文章*/ (Ps: External DataSource使用篇地址:Spark SQL之External DataSource外部数据源(一)示 阅读全文

posted @ 2017-09-26 13:58 Aaron-Mhs 阅读(772) 评论(0) 推荐(0)

摘要:/** Spark SQL源码分析系列文章*/ 前面讲到了Spark SQL In-Memory Columnar Storage的存储结构是基于列存储的。 那么基于以上存储结构,我们查询cache在jvm内的数据又是如何查询的,本文将揭示查询In-Memory Data的方式。 一、引子 本例使用 阅读全文

posted @ 2017-09-26 13:57 Aaron-Mhs 阅读(909) 评论(0) 推荐(0)

摘要:/** Spark SQL源码分析系列文章*/ Spark SQL 可以将数据缓存到内存中,我们可以见到的通过调用cache table tableName即可将一张表缓存到内存中,来极大的提高查询效率。 这就涉及到内存中的数据的存储形式,我们知道基于关系型的数据可以存储为基于行存储结构 或 者基于 阅读全文

posted @ 2017-09-26 13:56 Aaron-Mhs 阅读(1089) 评论(0) 推荐(0)

摘要:/** Spark SQL源码分析系列文章*/ 在SQL的世界里,除了官方提供的常用的处理函数之外,一般都会提供可扩展的对外自定义函数接口,这已经成为一种事实的标准。 在前面Spark SQL源码分析之核心流程一文中,已经介绍了Spark SQL Catalyst Analyzer的作用,其中包含了 阅读全文

posted @ 2017-09-26 13:55 Aaron-Mhs 阅读(713) 评论(0) 推荐(0)

摘要:/** Spark SQL源码分析系列文章*/ 接上一篇文章Spark SQL Catalyst源码分析之Physical Plan,本文将介绍Physical Plan的toRDD的具体实现细节: 我们都知道一段sql,真正的执行是当你调用它的collect()方法才会执行Spark Job,最后 阅读全文

posted @ 2017-09-26 13:54 Aaron-Mhs 阅读(710) 评论(0) 推荐(0)

摘要:/** Spark SQL源码分析系列文章*/ 前几篇文章介绍了Spark SQL的Catalyst的核心运行流程、SqlParser,和Analyzer 以及核心类库TreeNode,本文将详细讲解Spark SQL的Optimizer的优化思想以及Optimizer在Catalyst里的表现方式 阅读全文

posted @ 2017-09-26 13:52 Aaron-Mhs 阅读(701) 评论(0) 推荐(0)

摘要:/** Spark SQL源码分析系列文章*/ 前面几篇文章主要介绍的是spark sql包里的的spark sql执行流程,以及Catalyst包内的SqlParser,Analyzer和Optimizer,最后要介绍一下Catalyst里最后的一个Plan了,即Physical Plan。物理计 阅读全文

posted @ 2017-09-26 13:52 Aaron-Mhs 阅读(1156) 评论(0) 推荐(0)

摘要:/** Spark SQL源码分析系列文章*/ 前几篇文章介绍了Spark SQL的Catalyst的核心运行流程、SqlParser,和Analyzer,本来打算直接写Optimizer的,但是发现忘记介绍TreeNode这个Catalyst的核心概念,介绍这个可以更好的理解Optimizer是如 阅读全文

posted @ 2017-09-26 13:51 Aaron-Mhs 阅读(760) 评论(0) 推荐(0)

摘要:/** Spark SQL源码分析系列文章*/ 前面几篇文章讲解了Spark SQL的核心执行流程和Spark SQL的Catalyst框架的Sql Parser是怎样接受用户输入sql,经过解析生成Unresolved Logical Plan的。我们记得Spark SQL的执行流程中另一个核心的 阅读全文

posted @ 2017-09-26 13:50 Aaron-Mhs 阅读(515) 评论(0) 推荐(0)

摘要:/** Spark SQL源码分析系列文章*/ Spark SQL的核心执行流程我们已经分析完毕,可以参见Spark SQL核心执行流程,下面我们来分析执行流程中各个核心组件的工作职责。 本文先从入口开始分析,即如何解析SQL文本生成逻辑计划的,主要设计的核心组件式SqlParser是一个SQL语言 阅读全文

posted @ 2017-09-26 13:48 Aaron-Mhs 阅读(1383) 评论(0) 推荐(0)

摘要:/** Spark SQL源码分析系列文章*/ 自从去年Spark Submit 2013 Michael Armbrust分享了他的Catalyst,到至今1年多了,Spark SQL的贡献者从几人到了几十人,而且发展速度异常迅猛,究其原因,个人认为有以下2点: 1、整合:将SQL类型的查询语言整 阅读全文

posted @ 2017-09-26 13:47 Aaron-Mhs 阅读(614) 评论(0) 推荐(0)

摘要:从决定写Spark SQL源码分析的文章,到现在一个月的时间里,陆陆续续差不多快完成了,这里也做一个整合和索引,方便大家阅读,这里给出阅读顺序 :) 第一篇 Spark SQL源码分析之核心流程 第二篇 Spark SQL Catalyst源码分析之SqlParser 第三篇 Spark SQL C 阅读全文

posted @ 2017-09-26 13:46 Aaron-Mhs 阅读(339) 评论(0) 推荐(0)

摘要:Spark可以通过三种方式配置系统: 通过SparkConf对象, 或者Java系统属性配置Spark的应用参数 通过每个节点上的conf/spark-env.sh脚本为每台机器配置环境变量 通过log4j.properties配置日志属性 Spark属性 Spark属性可以为每个应用分别进行配置, 阅读全文

posted @ 2017-08-17 21:25 Aaron-Mhs 阅读(5486) 评论(0) 推荐(0)

摘要:1.Spark1.x 属性配置方式 Spark属性提供了大部分应用程序的控制项,并且可以单独为每个应用程序进行配置。 在Spark1.0.0提供了3种方式的属性配置: SparkConf方式 SparkConf方式可以直接将属性值传递到SparkContext; SparkConf可以对某些通用属性 阅读全文

posted @ 2017-08-17 18:33 Aaron-Mhs 阅读(390) 评论(0) 推荐(0)

摘要:在Spark或Hadoop MapReduce的分布式计算框架中,数据被按照key分成一块一块的分区,打散分布在集群中各个节点的物理存储或内存空间中,每个计算任务一次处理一个分区,但map端和reduce端的计算任务并非按照一种方式对相同的分区进行计算,例如,当需要对数据进行排序时,就需要将key相 阅读全文

posted @ 2017-08-17 18:22 Aaron-Mhs 阅读(281) 评论(0) 推荐(0)

摘要:Spark集群 一组计算机的集合,每个计算机节点作为独立的计算资源,又可以虚拟出多个具备计算能力的虚拟机,这些虚拟机是集群中的计算单元。Spark的核心模块专注于调度和管理虚拟机之上分布式计算任务的执行,集群中的计算资源则交给Cluster Manager这个角色来管理,Cluster Manage 阅读全文

posted @ 2017-08-17 18:21 Aaron-Mhs 阅读(289) 评论(0) 推荐(0)

摘要:Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色。理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优。本文旨在梳理出 Spark 内存管理的脉络,抛砖引玉,引出读者对这个话题的深入探讨。本文中阐述的原理基于 Spar 阅读全文

posted @ 2017-08-17 18:18 Aaron-Mhs 阅读(156) 评论(0) 推荐(0)

摘要:Intellij IDEA中有很多快捷键让人爱不释手,这次就按照我日常开发时的使用频率,简单分类列一下十大快捷-神-键。 1 智能提示 Intellij首当其冲的当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有更智能地按类型信息提示Ctrl+Shift+Space,但 阅读全文

posted @ 2017-08-11 15:18 Aaron-Mhs 阅读(165) 评论(0) 推荐(0)

摘要:前言 数据倾斜调优 调优概述 数据倾斜发生时的现象 数据倾斜发生的原理 如何定位导致数据倾斜的代码 查看导致数据倾斜的key的数据分布情况 数据倾斜的解决方案 解决方案一:使用Hive ETL预处理数据 解决方案二:过滤少数导致倾斜的key 解决方案三:提高shuffle操作的并行度 解决方案四:两 阅读全文

posted @ 2017-05-23 12:01 Aaron-Mhs 阅读(367) 评论(0) 推荐(0)

摘要:前言 开发调优 调优概述 原则一:避免创建重复的RDD 原则二:尽可能复用同一个RDD 原则三:对多次使用的RDD进行持久化 原则四:尽量避免使用shuffle类算子 原则五:使用map-side预聚合的shuffle操作 原则六:使用高性能的算子 原则七:广播大变量 原则八:使用Kryo优化序列化 阅读全文

posted @ 2017-05-23 12:00 Aaron-Mhs 阅读(454) 评论(0) 推荐(0)

1