摘要: spark-sql 架构 图1 图1是sparksql的执行架构,主要包括逻辑计划和物理计划几个阶段,下面对流程详细分析。 sql执行流程 总体流程 SQLConf中的`spark.sql.variable.substitute`,默认是可用的;参考` SparkSqlParser` 其中`Sess 阅读全文
posted @ 2018-10-09 18:49 ulysses_you 阅读(8072) 评论(0) 推荐(0) 编辑
摘要: 前言 下面的分析基于对spark2.1.0版本的分析,对于1.x的版本可以有区别。 内存配置 key 默认 解释 spark.memory.fraction 0.6 spark可以直接使用的内存大小系数 spark.memory.storageFraction 0.5 spark存储可以直接使用的内 阅读全文
posted @ 2018-09-17 09:18 ulysses_you 阅读(1741) 评论(0) 推荐(0) 编辑
摘要: 前言 根据源码分析kafka java客户端的生产者和消费者的流程。 基于zookeeper的旧消费者 kafka消费者从消费数据到关闭经历的流程。 由于3个核心线程 解放zookeeper的新消费者 总体思路 拉取数据的两种方式 拉取流程 重平衡触发原因 数据拉取线程分为两类 kafka集群在同步 阅读全文
posted @ 2018-09-10 18:58 ulysses_you 阅读(4572) 评论(0) 推荐(0) 编辑
摘要: INNODB的隔离性质 INNODB的事务支持4种隔离机制,分别是 READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, and SERIALIZABLE. 其中默认的为REPEATABLE READ. 下面详细分析这4种隔离性的联系和区别。 REPE 阅读全文
posted @ 2018-09-07 08:26 ulysses_you 阅读(1222) 评论(0) 推荐(2) 编辑
摘要: 前言 下面通过对kylin构建cube流程的分析来介绍cube优化思路。 创建hive中间表 kylin会在cube构建的第一步先构建一张hive的中间表,该表关联了所有的事实表和维度表,也就是一张宽表。 优化点: 1. hive表分区优化,在构建宽表的时候,kylin需要遍历hive表,事实表和维 阅读全文
posted @ 2018-08-15 19:56 ulysses_you 阅读(4097) 评论(0) 推荐(1) 编辑
摘要: 前言 本篇文章通过图文的方式分析不同维度组合下的cube在hbase中的存储结构 需要声明的是,kylin不存原始数据,存储cube 全维度构建 假设一张表有3个字段name,age,sex,那么当通过kylin构建这张表的cube时,hbase的表结构如下所示。注意本示例没有度量字段,value表 阅读全文
posted @ 2018-08-08 20:49 ulysses_you 阅读(2463) 评论(0) 推荐(0) 编辑
摘要: 前言 calcite是一个可以将任意数据查询转换成基于sql查询的引擎,引擎特性也有很多,比如支持sql树的解析,udf的扩展,sql执行优化器的扩展等等。目前已经被很多顶级apache项目引用,比如hive,kylin等。在这个SQL作为主流的数据查询语言大数据世界里,calcite的作用会越来越 阅读全文
posted @ 2018-07-24 09:13 ulysses_you 阅读(3722) 评论(0) 推荐(2) 编辑
摘要: 架构 官网很直接,上来就给出了kylin的架构,也很清晰。可以把kylin看成3个部分。 其中,构建引擎和存储引擎可以自由扩展,默认是mapreduce和hbase 术语 OLTP 在线事务处理是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应 阅读全文
posted @ 2018-07-10 07:41 ulysses_you 阅读(11259) 评论(2) 推荐(1) 编辑
摘要: 介绍 coprocessor这个单词看起来很神秘,直译为协处理器,其实可以理解成依赖于regionserver进程的辅助处理接口。 hbae在0.92版本之后提供了coprocessor接口。目前hbase支持两种coprocessor,endpoint和observer。hbase在未来版本可能考 阅读全文
posted @ 2018-07-03 07:04 ulysses_you 阅读(944) 评论(0) 推荐(1) 编辑
摘要: 前言 对于流式计算(streaming)而言,窗口是一个永远绕不开的话题,最常见的需求,比如计算某个字段最近一小时的累积量,计算某个字段一天的出现的次数等。本篇文章针对流式计算的窗口模型(window model)进行深入解析。需要注意的是,本篇文章内容没有考虑容错问题,也就是默认本地内存中的数据不 阅读全文
posted @ 2018-06-11 13:51 ulysses_you 阅读(3276) 评论(0) 推荐(3) 编辑