学习 Spark 2(七):去重计数

去重计数(count distinct)通常用于计算集合中不重复元素的个数。例如:统计交易的商品数、网站的 UV 等。 HyperLogLog 一般情况下,去重计数的做法是维护元素集合 S,对于一个新的元素 e,如果 S 中包含元素 e 则加入集合 S,否则不加入,集合 S 的元素数量就是计数值。 然而, »

学习 ANTLR 4(一):初识 ANTLR 4

ANTLR 4 是什么? 官网:http://www.antlr.org/ ANTLR 是 ANother Tool for Language Recognition 的缩写 ANTLR 4 是一款强大的语法分析器生成工具,可用于读取、处理、执行和翻译结构化的文本或二进制文件 ANTLR 4 的开发流程: 定义 »

学习 Kylin(三):Cube 构建

完成 Cube 定义之后,此时的 Cube 状态是 DISABLED,需要对 Cube 进行构建,计算各个维度下的指标数据,才可以被查询引擎使用。 源码版本:2.3.1 构建步骤 源码 org.apache.kylin.engine.mr.BatchCubingJobBuilder2: public CubingJob »

【译】深入理解 Spark SQL 的 Catalyst 优化器

原文:Deep Dive into Spark SQL’s Catalyst Optimizer Spark SQL 是 Spark 最新且技术最复杂的组件之一。它同时支持 SQL 查询和新的 DataFrame API。Spark SQL 的核心是 Catalyst 优化器,它以一种全新的方式利用高级语言的特性(例如: »

学习 Spark Streaming(二):集成 Drools 实现 CEP

CEP CEP(Complex Event Processing 复杂事件处理)是一种事件流处理方式,通过结合多个数据源来推断事件或者模式,从而发现更复杂的情况。 CEP 的一种实现为:流处理 + 规则引擎 添加依赖 Spark 依赖: <dependency> <groupId>org.apache.spark< »