-
使用集算器桌面版的Excel插件,可在Excel中执行SPL脚本并获得结果集后填充到Excel中。 第 1 章 安装与配置 1 、环境 要求64位的Windows和Excel,不能用32位的, ..
-
InfluxDB是时序数据库,数据存储在它的bucket中,多个bucket又组成一个organization。每条数据由measurement、多个维度、多个字段值、时间戳构成: airSe ..
-
部分预汇总 多维分析后台的运算本质是分组汇总,可以直接对数据执行这个计算。但是,当数据量非常大的时候,很难做到即时响应。 预汇总是个容易想到的办法,即事先把各种汇总结果计算好,保存为中间结果( ..
-
业务逻辑由数据库读写、结构化数据计算、流程处理组成。SQL的设计初衷就是数据库读写和结构化数据计算,解决这两部分相对轻松,但因为缺乏流程处理语句(循环、判断),SQL难以独自实现完整的业务逻辑 ..
-
中间表是数据库中专门存放中间计算结果的数据表,往往是为了前端查询统计更快或更方便而在数据库中建立的汇总表,由于是由原始数据加工而成的中间结果,因此被称为中间表。在某些大型机构中,多年积累出来中 ..
-
自助报表需求已经是越来越普遍,各行业的应用软件中,不管是主动还是被动,都在思考并在努力实现自助报表功能 这样做对于用户来说,可以自由灵活的去分析了解数据,不再拘泥于固定格式的数据报表,方便灵活 ..
-
ETL 是将数据从来源端经过清洗(extract)、转换(transform)、加载(load)至目的端的过程。正常的 ETL 过程应当是 E、T、L 这三个步骤逐步进行,也就是先清洗转换之后 ..
-
大数据表关联时,有时会先对关联表做条件过滤。对于关联字段是主键或者部分主键的情况,SPL 在有序归并关联算法(参考这里)的基础上提供关联定位算法,来提升过滤后关联的计算性能。 先来看关联表按照 ..
-
JAVA开发中经常会遇到不方便使用数据库,但又要进行结构化数据计算的场景。JAVA早期没有提供相关类库,即使排序、分组这种基本计算也要硬写代码,开发效率很低。后来JAVA8推出了Stream库 ..
-
在大数据表关联场景中,如果各个表按照主键或部分主键关联,我们可以采用 SPL 附表机制来做性能优化。 附表机制是将上述要关联的表绑在一起存储。以客户表 customer 和联系方式表 cont ..
-
[链接]文本为什么更慢? 文本文件慢的原因,主要在于会多出很多数据类型解析的动作。 举个例子,设想一下把文本“12345' 转成内存二进制整数 12345 的过程: 1. 先设结果的初始值为 ..
-
大表关联常常会出现性能问题。对于关联字段是主键或者部分主键的情况,SPL 提供有序归并算法来计算。 有序关联算法,要事先把这些关联表的数据按其主键排序。排序的成本虽然较高,但是一次性的。一旦完 ..
-
自助报表和 BI 的定位是能够让业务用户自己做灵活的报表和数据分析,通过自助来实现分析自由,顺带摆脱对开发商或者技术人员的过度依赖,虽然依赖他们会很爽,不用自己干活了,但是伴随着的效率低下和不 ..
-
大数据计算场景下,很多比较复杂的算法都会产生落地的中间结果,出现对外存的读写,从而影响性能。 例如,帐户交易表 trades 包含帐号 id,交易日期 dt 和交易金额 amou ..
-
事物都是普遍联系的,很难有一个独立的事物不和其它发生关联,数据表也一样,很多有业务意义的查询都会涉及多个数据表的关联 数据分析以及 BI 类软件通常会提供自助查询功能,有些软件还能支持关联查询 ..
-
因为用错了报表工具,或者没有用对姿势。 疼在哪里? 报表工具不就是为了解决手工开发报表效率低、困难多等这些让人头痛的难题的吗?怎么用了大牌工具还会头痛,是功能不行解决不了这些问题? 不,并不是 ..
-
[链接]3.2 多层循环 就像 if 和 else 的代码块中还可能再有 if…else 一样,for 的循环体中也还可以再有 for,这种情况我们称为多层循环。 水仙花数是指这样的一个三位数 ..
-
3.1 单层循环 目前为止,我们写的代码都是从前向后执行一遍就结束了。if 语句可能导致某些代码被跳过而不执行,程序的总体流向仍然是向前向后的,没有一句代码会被执行多次。 事实上,计算机最擅长 ..
-
[链接]2.3 注释和跳转 程序代码不一定总是能写对,在没有出现预期结果时常常搞不清原因,这时候就需要对程序进行调试以定位错误。 早期原始的调试方式就是把程序运行的中间结果输出,看看是哪一步不 ..
-
2.2 分支结构 用 if() 函数可以完成一些判断,但有些情况,我们还需要 if 语句。 回顾一下中学学过的二次方程[图片],可以用公式[图片]解出方程,但是要考察其中那个[图片],如果它大 ..
-
[链接]2.1 逻辑运算 假如我们想计算一个数的绝对值(其实 SPL 有 abs 函数,但这里用别的方法来尝试),这需要判断这个数是大于 0 还是小于 0 的,我们引入 if 函数来实现: = ..
-
1.3 函数 前面说了数据有类型,并且除法会计算出浮点数来,如果我们希望得到一个整数,比如四舍五入成整数,那该怎么办? 学到现在,似乎还不会做这件事?我们不知道怎么把一个浮点数变成整数,即使计 ..
-
1.2 变量和语句 我们知道圆的面积 S=πr2。我们来写一段代码,给定圆的半径,计算出它的面积,π就简单取成 3.14 了。 A 1 5 2 =3.14*A1*A1 执行,看 A2 的值,计 ..
-
1.1 数据 运行集算器,点击新建(菜单命令:文件 - 新建),可以看到这么一个网格式的界面: [图片] SPL 代码就是写在这个网格里,看起来有点像 Excel,但其实不是。 大多数程序语言 ..
-
[链接]前言 编程,如同驾驶,越来越成为现代人的一项基本技能。掌握编程技能,能够用编程处理日常工作生活中的问题,其好处是无庸多言的。 但是,当前 IT 领域的程序语言几乎全部是面向专业人员设计 ..