随笔分类 - 大数据计算
摘要:概述 物化视图和视图类似,反映的是某个查询的结果,但是和视图仅保存SQL定义不同,物化视图本身会存储数据,因此是物化了的视图。 当用户查询的时候,原先创建的物化视图会注册到优化器中,用户的查询命中物化视图后,会直接去物化视图拿数据(缓存),提高运行速度,是典型的空间换时间。 本篇文章会先介绍《Opt
阅读全文
摘要:上一篇主要对Calcite的背景,技术特点,SQL的RBO和CBO等做了一个初步的介绍。深入浅出Calcite与SQL CBO(Cost-Based Optimizer)优化 这一篇会从Hive入手,介绍Hive如何使用Calcite来优化自己的SQL,主要从源码的角度进行介绍。文末附有一篇其他博主
阅读全文
摘要:docker本身,其实仅仅是提供了一种沙盒的机制,对不同应用进行隔离。镜像是它出彩的一个设计,可以让开发者们快速部署应用。但这对大型应用管理来说,是远远不够的。开发者们在意识到这个问题后,提出了编排这个概念,从而引发的新的纷争。。。
阅读全文
摘要:本篇主要是根据AnalyticDB的论文,来讨论AnalyticDB出现的背景,各个模块的设计,一些特性的解析。可能还会在一些点上还会穿插一些与当前业界开源实现的比对,希望能够有一个更加深入的探讨。OK,那我们开始吧。 AnalyticDB介绍与背景 要说AnalyticDB,那起码得知道它是干什么
阅读全文
摘要:Spark SQL原理解析前言: Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述 Spark SQL源码解析(二)Antlr4解析Sql并生成树 Spark SQL源码解析(三)Analysis阶段分析 Spark SQL源码解析(四)Optimization和Physica
阅读全文
摘要:Spark SQL原理解析前言: "Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述" "Spark SQL源码解析(二)Antlr4解析Sql并生成树" "Spark SQL源码解析(三)Analysis阶段分析" 前面已经介绍了SQL parse,将一条SQL语句使用ant
阅读全文
摘要:Spark SQL原理解析前言: "Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述" "Spark SQL源码解析(二)Antlr4解析Sql并生成树" Analysis阶段概述 首先,这里需要引入一个新概念,前面介绍SQL parse阶段,会使用antlr4,将一条SQL语
阅读全文
摘要:Spark SQL原理解析前言: "Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述" 这一次要开始真正介绍Spark解析SQL的流程,首先是从Sql Parse阶段开始,简单点说,这个阶段就是使用Antlr4,将一条Sql语句解析成语法树。 可能有童鞋没接触过antlr4这个
阅读全文
摘要:Spark SQL模块,主要就是处理跟SQL解析相关的一些内容,说得更通俗点就是怎么把一个SQL语句解析成Dataframe或者说RDD的任务。以Spark 2.4.3为例,Spark SQL这个大模块分为三个子模块,如下图所示 其中Catalyst可以说是Spark内部专门用来解析SQL的一个框架
阅读全文
摘要:现在有不少人希望通过阅读开源代码来提高自己,却经常在搭建环境遇到困难,希望这篇搭建Spark源码环境的文章能帮到大家:)
阅读全文
摘要:Spark RPC 框架对 Spark 来说是至关重要的,它在 Spark 中担任中枢的作用。
阅读全文
摘要:前两次讲了 Spark RPC 的基础内容以及源码时序分析。这次我们来看看Spark 如何用 RPC 实现心跳。
阅读全文
摘要:Spark RPC 框架对 Spark 来说是至关重要的,它在 Spark 中担任中枢的作用。
阅读全文
摘要:一. Hbase的region 我们先简单介绍下Hbase的架构和Hbase的region: 从物理集群的角度看,Hbase集群中,由一个Hmaster管理多个HRegionServer,其中每个HRegionServer都对应一台物理机器,一台HRegionServer服务器上又可以有多个Hreg
阅读全文
摘要:今天主要介绍一下如何将 Spark dataframe 的数据转成 json 数据。用到的是 scala 提供的 json 处理的 api。 用过 Spark SQL 应该知道,Spark dataframe 本身有提供一个 api 可以供我们将数据转成一个 JsonArray,我们可以在 spar
阅读全文
摘要:从分治算法,谈谈 MapReduce
阅读全文
摘要:在使用Spark SQL的过程中,经常会用到groupBy这个函数进行一些统计工作。但是会发现除了groupBy外,还有一个groupByKey( 注意RDD也有一个groupByKey,而这里的groupByKey是DataFrame的 )。这个groupByKey引起了我的好奇,那我们就到源码里
阅读全文
摘要:Spark中有两个类似的api,分别是reduceByKey和groupByKey。这两个的功能类似,但底层实现却有些不同,那么为什么要这样设计呢?我们来从源码的角度分析一下。 先看两者的调用顺序(都是使用默认的Partitioner,即defaultPartitioner) 所用spark版本:s
阅读全文