关键词导读:txt Java计算txt SQL查询txt
Java不能直接使用SQL查询文本,一般常规做法:在数据库创建临时表,Java解析文本入库,再使用SQL对其查询、过滤、分组等。
但实现过程太麻烦了。主要不方便体现在:
1、Java代码写起来很长,开发环境配置也复杂,一般对人员要求较高。
2、为了获得SQL的便利性,安装数据库、创建临时表,虽然不难,却很繁琐。
3、一些临时性、突发性需求,搞起来周期长,甚至某些场景下不允许安装数据库,就很尴尬,全部用Java写,难度大。
比如要处理这么个场景:查询1996-07-23后且单笔金额大于10000的订单,部分源数据如下:
O_ORDERKEY O_CUSTKEY O_ORDERDATE O_TOTALPRICE 10262 RATTC 1996-07-22 14487.0 10263 ERNSH 1996-07-23 43818.0 10264 FOLKO 2007-07-24 1101.0 10265 BLONP 1996-07-25 5528.0 10266 WARTH 1996-07-26 7719.0 10267 FRANK 1996-07-29 20858.0 10268 GROSR 1996-07-30 19887.0 10269 WHITC 1996-07-31 456.0 10270 WARTH 1996-08-01 13654.0 ... |
期望的结果:
如果使用集算器 SPL 会简单很多,它对文件(txt、Excel等)直接提供了SQL式查询与计算的能力,让程序员享受绝对的便利,不再考虑这些烦心的事。比如上面问题,1行就搞定了:
|
A |
1 |
$()select * from /workspace/orders.txt where O_ORDERDATE>=date(‘1996-07-23‘) and O_TOTALPRICE >10000 |
其实还有很多情况用Java计算文本、Excel不太方便,甚至关联计算、入库等需求,但用集算器SPL却很简单,感兴趣可以参考:SPL 结构化文本计算
集算器还很容易嵌入到Java应用程序中,Java如何调用SPL脚本有使用和获得它的方法。
关于集算器安装使用、获得免费授权和相关技术资料,可以参见如何使用集算器。