当前位置: 首页> 健康> 知识 > 公司装修图片大全_网络营销常用的工具有哪些_宜昌网站seo收费_如何写好一篇软文

公司装修图片大全_网络营销常用的工具有哪些_宜昌网站seo收费_如何写好一篇软文

时间:2025/8/8 14:26:29来源:https://blog.csdn.net/smilejingwei/article/details/147226636 浏览次数:0次
公司装修图片大全_网络营销常用的工具有哪些_宜昌网站seo收费_如何写好一篇软文

冷热数据分库以后再混合查询就比较麻烦。很多数据库都不支持,部分支持的能力也有限,还涉及大量数据复制效率也不高;如果分别读出在 Java 里计算又太复杂。esProc 是个不依赖数据库的计算引擎,支持各种数据源,有丰富的计算类库,还能嵌入 Java 使用,天然适合在应用中做冷热数据库混合计算。

先下载 esProc,推荐标准版:» esProc Download - esProc SPL Official Website

安装后,配下数据库连接,这里以 MySQL 为例。

先把 MySQL JDBC 驱动包放到 [esProc 安装目录]\common\jdbc 目录下(其他数据库类似)。

..

然后启动 esProc IDE,菜单栏选择 Tool-Connect to Data Source,配置 MySQL 标准 JDBC 连接。

..

确定后,测试一下连接,点击 Connect,发现刚刚配置的 hotdb 数据源变成粉红色证明连接成功。

..

接下来,我们尝试在 esProc 中完成冷热数据混合计算。

业务中将本年和去年可能变化的订单数据归类为热数据,放置到 hotdb 库中,将去年以前不再变化的冷数据放到 colddb 库中。两个库表结构完全一致,数据按照时间(可变性)进行冷热分离。现在查询可能涉及两个库的数据,用 esProc 如何实现呢?

上面配置了 hotdb 连接,采用类似的方式再配置一个 colddb。

..

在 esProc IDE 里写一下混合计算的脚本,实现:查询指定日期范围的订单数据,并按支付方式汇总订单金额。

先给脚本增加两个日期参数(sdate,edate)作为订单日期的筛选条件。

..

脚本:

..

脚本分别根据输入参数从热库(A3)和冷库(A4)查询数据,SQL 先汇总了一下,这样可以避免取全部明细太慢。然后在 A5 里进行了合并再汇总,整个过程很简单。

按 ctrl-F9 执行,可以在 IDE 右边看到某个格子(步骤)的执行结果,这里看到的是 A5 最终计算结果。

考虑到查询的数据可能只在一个库内,可以增加判断条件,以减少对数据库的访问。

..

这里的例子两个都是 MySQL(同构库),如果涉及异构库只需要修改数据库连接和对应的 SQL 即可。

下面把 esProc 集成到 Java 应用中。

从 [esProc 安装目录]\esProc\lib 目录下找到 esProc JDBC 相关的 jar 包:esproc-bin-xxxx.jar、icu4j_60.3.jar。

..

将这两个 jar 包部署到 Java 开发环境的类路径下,同时将 MySQL 的驱动包也放到应用中。

再从目录 [esProc 安装目录]\esProc\config 下找到 esProc 配置文件 raqsoftConfig.xml,同样部署到 Java 开发环境的类路径下。打开可以看到前面配置的两个数据源(如果没有需要自行添加)。

..

编写 Java 代码调用 SPL 脚本 hot_cold_query.splx:

public class HotColdQuery {public static void main(String[] args) {String driver = "com.esproc.jdbc.InternalDriver";String url = "jdbc:esproc:local://";try {Class.forName(driver);Connection conn = DriverManager.getConnection(url);PreparedStatement st =conn.prepareCall("call hot_cold_query(?,?)");st.setObject(1, "2022-01-01");st.setObject(2, "2025-12-31");st.execute();ResultSet rs = st.getResultSet();while(rs.next()) {System.out.println(rs.getString("payment_method") + "\t" +rs.getDouble("total_amount"));}} catch (Exception e) {throw new RuntimeException(e);}}
}

JDBC 的使用跟数据库完全一致,调用 SPL 脚本也与访问存储过程类似,这里是call hot_cold_query(?,?)并传参。

下面是运行结果:

..

这里只是以一个简单的分组汇总来说明 esProc 在 Java 应用中完成冷热混算的过程,esProc 的计算能力还远不止于此,尤其擅长复杂计算。任何数据源对 esProc 都是等同的,只要能访问到就能混算,同构异构都可以,这就意味着冷数据可以采用任意存储(比如文件系统)通过 esProc 都能实现冷热数据混算。

关键字:公司装修图片大全_网络营销常用的工具有哪些_宜昌网站seo收费_如何写好一篇软文

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: