www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號(hào)精選 > 技術(shù)讓夢(mèng)想更偉大
[導(dǎo)讀]能嵌入JAVA代碼被調(diào)用,又能進(jìn)行數(shù)據(jù)計(jì)算的開源庫,數(shù)據(jù)庫類的有HSQLDB/Derby/H2等。這幾個(gè)和SQLite的毛病一樣,入庫過程非常繁瑣,要檢查表名是否重復(fù)、建表結(jié)構(gòu)、讀文件、解析字段、插入記錄、建索引等,而且沒法處理不規(guī)則的文本和特殊數(shù)據(jù)源;至于近年來計(jì)算庫逐漸被重視...


能嵌入JAVA代碼被調(diào)用,又能進(jìn)行數(shù)據(jù)計(jì)算的開源庫,數(shù)據(jù)庫類的有HSQLDB/Derby/H2等。這幾個(gè)和SQLite的毛病一樣,入庫過程非常繁瑣,要檢查表名是否重復(fù)、建表結(jié)構(gòu)、讀文件、解析字段、插入記錄、建索引等,而且沒法處理不規(guī)則的文本和特殊數(shù)據(jù)源;至于近年來計(jì)算庫逐漸被重視的功能--JSON計(jì)算,雖然內(nèi)嵌數(shù)據(jù)庫也是趕鴨子上架,但這幾個(gè)還不如內(nèi)嵌數(shù)據(jù)庫。DataFrame類的計(jì)算庫有Tablesaw/ Joinery/ Morpheus等,在多層JSON(半結(jié)構(gòu)化數(shù)據(jù))的讀取和計(jì)算上,它們比數(shù)據(jù)庫要方便多了,但二維結(jié)構(gòu)化數(shù)據(jù)的計(jì)算又遠(yuǎn)不如數(shù)據(jù)庫。二維結(jié)構(gòu)化數(shù)據(jù)和多層JSON的計(jì)算都足夠強(qiáng),又支持多種數(shù)據(jù)源,可處理不規(guī)則文本的嵌入式JAVA開源庫,集算器SPL是個(gè)更好的選擇。JAVA調(diào)用SPL只需JDBC接口,基本看一遍就會(huì)。比如把tab分隔的文本文件Orders.txt按Client列順序排序,按Amount列逆序排序:
Class.forName("com.esproc.jdbc.InternalDriver"); Connection connection =DriverManager.getConnection("jdbc:esproc:local://"); Statement statement = connection.createStatement();String str="=T(\"D:/Orders.txt\").sort(Client,- Amount)"; ResultSet result = statement.executeQuery(str);

一個(gè)T函數(shù)就相當(dāng)于內(nèi)嵌數(shù)據(jù)庫入庫那一整套過程,比那些內(nèi)嵌的數(shù)據(jù)庫方案要方便多了。


為了數(shù)據(jù)庫程序員的方便,SPL也支持SQL語句,比如上面的排序可改寫為:?
str="$select * from d:/Orders.txt order by Client, Amount desc"

再講講剛才的sort函數(shù),這樣的基本計(jì)算函數(shù)SPL有上百個(gè),可以直接完成大多數(shù)常規(guī)計(jì)算。下面試舉一些:


//條件查詢str="=T(\"D:/Orders.txt\").select(Amount>1000
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀
關(guān)閉