计算&AI •
979 引用 •
1069 回帖 •
466 关注
博客
关注
-
微服务架构作为现代企业应用系统的主流趋势,常因其部署灵活、可扩展性强而备受推崇。然而,在实际落地中却面临“叫好不叫座”的尴尬局面。根源在于传统Java实现方式下,微服务代码冗长、业务逻辑难以解 ..
-
前言 查询和报表应用中常常涉及较复杂的运算,因为数据通常在数据库中,所以运算也通常用SQL来实施,但SQL有不少缺点,比如集合化不彻底,数据无序,难以分步计算,调试不便等,导致代码相当繁琐甚至 ..
-
枚举字段的取值是有限几种值,针对枚举字段 f 的过滤条件写成 f =v1 or f=v2 or…或者 f !=v1 and f !=v2 and…,也可能写成 in 或者 not in。数据库 ..
-
大主子表之间进行 EXISTS 计算往往会导致较差的性能。这样的计算本质上是在做主键关联,如果能预先将主子表都按照主键有序存储,也可以使用有序归并算法有效提速。 esProc SPL 可以把主 ..
-
这一篇介绍主键关联的提速。 主表订单表和子表明细表的关联就是主键关联。SQL 中,这种关联仍用 JOIN 实现,在两个表都很大的情况下,常常出现计算速度非常慢的现象。 如果预先将主子表都按照主 ..
-
SQL 对关联的定义过于简单,就是两个表做笛卡尔积后再过滤,在语法上写成 A JOIN B ON …的形式。这样笼统处理多种关联,不体现关联运算本质,书写和优化都困难。 SPL 重新定义了关联 ..
-
SQL 中的去重计数 COUNT DISTINCT 一直比较慢。去重本质上是分组运算,需要把遍历过的分组字段值都保持住,用于后续的比对。结果集太大时,还要把数据写到硬盘上做缓存,性能低下。 如 ..
-
我们以订单表为例实现 esProc SPL 数据外置,提速常规过滤及分组汇总计算。 [图片] 我们使用 SPL 的 ETL 工具来生成脚本,实现数据的转储。在 [SPL 安装目录]\esPro ..
-
应用程序可能要基于不同数据库工作,各种数据库的 SQL 语法大体一致,但仍有些差别,结果就要改造这些 SQL,而这事通常只能手工调整,工作量大还容易出错。 完全自动改造 SQL 几乎是无法做到 ..
-
数据结构不一样的多源混合计算会更常见,比如不同业务系统混合分析。 数据结构说明 车辆管理系统(DB_Vehicle)保存了车辆与车主等相关信息,其中车主信息表 owner_info 表结构简化 ..
-
相同结构的数据按照年份存储到不同数据库时,要进行数据统计就会涉及多库混合计算。事实上,不管是数据库还是其他任何存储介质,相同结构数据合并都是类似的,只是读取数据这一步有所不同(不同数据源有不同 ..
-
除了以上常见数据源,还有 NoSQL、MQ 等数据源,其中以 MongoDB 最为常用。我们用 SPL 连接 MongoDB 做计算。 导入 MongoDB 数据。 外部库 SPL 支持的多种 ..
-
Restful 数据源也很常见,而且 Restful 的数据几乎都是 json 格式的,所以这两个放在一起来讲。 Rest 服务和数据格式 访问http://192.168.2.52:8503 ..
-
用 SPL 查文件也很简单,而且能处理各种文件格式。 计算用例 查询目标 基于 orders1.csv(有标题),统计 2024 年各类订单状态的订单金额 SPL 语法 编写脚本 A 1 =T ..
-
RDB 是 SPL 的 Native 数据源,SPL 通过 JDBC 与数据库交互,可以动态生成 / 拼接 SQL,也可以为 SQL 传递参数,原来在 Java 等语言与 SQL 结合的场景都 ..
-
润乾报表可以通过esProc数据集,直接调用非企业版集算器脚本文件,如果需要调用企业版集算器脚本文件,则需要部署内嵌的QJDBC,具体步骤如下: 1. 部署企业版 jar 从 官网下载安装集算 ..
-
在远程服务器192.168.2.12上有一个集算器企业版脚本文件,本机192.168.2.4的报表想要远程调用这个脚本文件,那就需要通过企业版的分机服务器和集算器jdbc来完成,具体步骤如下: ..
-
数据分析涉及不同业务系统时就要做跨库计算,而表间 JOIN 是最麻烦的,很多数据库都不具备这样的能力,用 Java 取数再计算又太复杂。用 esProc 完成跨库 JOIN 会简单很多。 数据 ..
-
由于业务需要将数据按年存储在两个结构相同的数据库中,要进行数据统计就会涉及多库混合计算。通过数据库或硬编码实现都比较麻烦,借助 esProc 可以简化这类运算。 数据 orders 表结构: ..
-
某些数据库 SQL 缺失必要的能力,通常要编写大段的代码,才能间接实现类似的功能,有些情况甚至要改用存储过程,连结构都变了。常见的比如:生成时间序列、保持分组子集、动态行列转换、自然序号、相对 ..
-
逻辑数仓可以实现多源混算,但需要配置视图、预处理数据,结构太沉重。duckdb 是轻量级的方案,但没有内置 Oracle 的 connector,自己开发难度又太高。同为轻量级方案,esPro ..
-
MongoDB 自带的查询语法功能比较繁琐,简单的任务也要写很长代码,复杂计算更难实现,比如: SPL assists MongoDB: Only keep the running total ..
-
数据分析或报表类应用中有时会遇到各类复杂的 SQL,嵌套了多层的、关联了自己的、动态转置的,比如: From SQL to SPL:Create columns from distinct v ..
-
Java 计算 csv 文件的代码太麻烦,借助数据库又会导致架构复杂。esProc 提供了 JDBC 驱动和计算类库,可以在 Java 中嵌入 SPL 语句,将 csv 文件当数据表直接查询, ..
-
esProc SPL 提供了游标运算,可以用非常简单的代码操作大 csv 文件,稍加改动就能变成并行计算,还有图形化界面,比 Pyhton 方便多了。 先去这里下载 esProc SPL:ht ..