亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

集算器用作Java計算類庫的應用結構

2019-11-14 14:55:57
字體:
來源:轉載
供稿:網友

集算器封裝了豐富的結構化文件計算函數,可讀入格式復雜的文本,進行結構化文件計算,實現大文件游標計算,簡化多線程并行計算。java應用程序可以將集算器腳本文件當做數據庫存儲過程執行,傳入參數并用JDBC獲得返回結果。

集算器與Java應用程序的集成結構如下:

下面舉例說明Java集成集算器的一般方法。

文件sOrder.txt是tab分隔的文本文件,存儲著一批訂單信息。要求用JAVA對該文件進行條件查詢,返回指定時間段內的訂單。

sOrder.txt部分數據如下:

步驟一:在集算器IDE中完成算法

A1:讀入文件。默認分隔符是tab,@t表示將第一行讀為列頭。

A2:執行條件查詢。startDate和endDate是來自JAVA的參數,比如2010-01-01至2010-12-31。

步驟二:在集算器IDE中查看計算結果

點擊A2可驗證計算結果:

步驟三:在JAVA中集成集算器腳本
JAVA主程序可以JDBC的方式調用集算器腳本,代碼如下:

       Class.forName(“com.esPRoc.jdbc.InternalDriver”);

       con= DriverManager.getConnection(“jdbc:esproc:local://”);

       //調用集算器腳本(類似存儲過程),其中orderQuery是dfx的文件名

       st =(com. esproc.jdbc.InternalCStatement)con.prepareCall(“call orderQuery (?,?)”);

       st.setObject(1,”2010-01-01″);

       st.setObject(2,”2010-12-31″);

       //執行腳本

       st.execute();

       //獲取結果集

       ResultSet rs = st.getResultSet();

       ……

集算器默認返回最后一個單元格,也可用return語句返回指定單元格。返回值是符合JDBC標準的ResultSet對象,調用集算器腳本和訪問數據庫的方法完全一樣,熟悉JDBC的程序員可以很快掌握。

上面的例子說明了JAVA集成集算器的一般方法,下面說明幾種特殊情況。

簡單腳本無文件

集算器腳本比較簡單時,可以將腳本直接寫在JAVA中,而不必專門存儲一個腳本文件。比如前面的例子可以寫作:

       st = (com. esproc.jdbc.InternalCStatement)con.createStatement();

       ResultSet rs1 = st.executeQuery(“=file(/”D://sOrder.txt/”).import@t()/n” + “=A1.select(OrderDate>=date(/”2010-01-01/”) && OrderDate<=date(/”2010-12-31/”))”);

可以看到,行和行之間只需用回車“/n“來分隔(列之間用/t分隔)。

也可以使用prepareStatement對象執行腳本,以便進行參數類型強制轉換。prepareStatement里的參數占位符在SQL中是問號,但問號是集算器的保留符號,因此要用”arg1,arg2,arg3”的形式依次占位,代碼如下:

       st= (com. esproc.jdbc.InternalCStatement)con.prepareStatement(“=file(/”D://sOrder.txt/”).import@t()/n” + “=A1.select(OrderDate>=arg1 && OrderDate<=arg2)”);

       java.util.Date  dateBegin  =  new SimpleDateFormat(“yyyy-MM-dd”).parse(“2010-01-01″);    

       java.sql.Date  sqlDateBegin  =  new java.sql.Date(dateBegin.getTime());

       java.util.Date  dateEnd  =  new SimpleDateFormat(“yyyy-MM-dd”).parse(“2010-12-31″);    

       java.sql.Date  sqlDateEnd  =  new java.sql.Date(dateEnd  .getTime());

       st.setDate(1, sqlDateBegin); 

       st.setDate(2, sqlDateEnd ); 

ResultSet rs1 = st.executeQuery(); 

大返回值

有時候計算結果會超出內存,這時就要用集算器游標函數返回結果,相應的JAVA要使用JDBC流來訪問。比如:按時間段查詢大文件sOrderBig.txt,集算器代碼如下:

函數cursor以游標方式打開大文件,函數select的查詢結果也是游標。

JAVA集成集算器的代碼如下:

       st =(com. esproc.jdbc.InternalCStatement)con.prepareCall(“call orderBigQuery (?,?)”);

       st.setObject(1,”2010-01-01″);

       st.setObject(2,”2010-12-31″);

       st.setFetchSize(1000);//設置每批次讀取的記錄數。

       st.execute();

       ResultSet rs = st.getResultSet();

       while (rs.next()) {

       ……

       }

涉及數據庫
如果計算時涉及數據庫,可在集算器中完成計算,并用集算器JDBC統一返回,而不必在JAVA中單獨集成數據庫。比如下面的代碼可將數據庫表emp對齊到sOrder.txt中。

關于在集算器中訪問數據庫請參考集算器輔助SQL編寫的應用結構,JAVA集成集算器請參考集算器集成應用之被JAVA調用。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久成人的性感天堂| 精品偷拍一区二区三区在线看| 久久99热精品这里久久精品| 亚洲成人999| 亚洲人成电影网站色www| 蜜臀久久99精品久久久无需会员| 成人做爰www免费看视频网站| 色噜噜久久综合伊人一本| 国产精品久久久久久久久久三级| 国外成人免费在线播放| 狠狠色狠狠色综合日日五| 亚洲欧美日韩精品| 国产日韩欧美夫妻视频在线观看| 国产在线观看精品一区二区三区| 亚洲欧美中文字幕在线一区| 国产精品黄页免费高清在线观看| 国产一级揄自揄精品视频| 国产精品日韩专区| 中文欧美日本在线资源| 一本色道久久综合亚洲精品小说| 97精品久久久| 亚洲一二在线观看| 久久九九精品99国产精品| 久久99精品国产99久久6尤物| 国产精品亚洲一区二区三区| 久久人人爽亚洲精品天堂| 亚洲精品国产精品国自产观看浪潮| 欧美激情视频免费观看| 久久久久国产一区二区三区| 欧美电影免费观看大全| 欧美理论电影在线观看| 亚洲区在线播放| 日韩欧美在线免费| 欧美成人免费一级人片100| 深夜福利日韩在线看| 国产偷亚洲偷欧美偷精品| 日韩中文有码在线视频| 成人午夜一级二级三级| 欧美日韩亚洲成人| 91av国产在线| 亚洲欧美日韩一区二区在线| 国产欧美最新羞羞视频在线观看| 亚洲黄色免费三级| 国产精品一区久久久| 中文字幕久久久av一区| 欧美电影免费观看大全| 亚洲一区二区三区四区在线播放| 亚洲精品久久久一区二区三区| 亚洲国产小视频| 国产综合久久久久久| 国产精品久久久久久久久影视| 日韩中文字幕视频在线观看| 激情成人中文字幕| 欧美黄色片视频| 国产欧亚日韩视频| 亚洲欧洲日产国产网站| 欧美中文字幕精品| 亚洲精品有码在线| 国产视频精品免费播放| 国产精品精品国产| 欧美专区日韩视频| 久久综合免费视频影院| 深夜福利91大全| 欧美激情小视频| 久久影视电视剧免费网站| 亚洲综合中文字幕在线| 奇米成人av国产一区二区三区| 96精品久久久久中文字幕| 亚洲午夜色婷婷在线| 亚洲国产女人aaa毛片在线| 中文字幕综合一区| 国产经典一区二区| 91精品视频网站| 精品视频久久久| 91精品国产99| 日韩欧美亚洲国产一区| 亚洲美女久久久| 欧美老女人性视频| 亚洲一区中文字幕| 91精品中国老女人| 伊人伊人伊人久久| 日韩网站免费观看高清| 97视频在线观看免费高清完整版在线观看| 国产精品video| 国产精品一区久久久| 视频在线一区二区| 大量国产精品视频| 亚洲片在线观看| 91精品视频在线免费观看| 欧美亚洲伦理www| 不卡av电影在线观看| 欧美精品videos性欧美| 69国产精品成人在线播放| 欧美电影免费观看大全| 国产国语videosex另类| 日韩一区二区在线视频| 亚洲女人天堂成人av在线| 久久综合免费视频| 九九九久久久久久| 欧洲中文字幕国产精品| 亚洲成人激情在线观看| 亚洲欧洲在线免费| 久久久久久久av| 亚洲久久久久久久久久久| 日韩中文字幕av| 久久久久女教师免费一区| 日韩在线一区二区三区免费视频| 欧美男插女视频| 亚洲精品永久免费| 日韩成人在线播放| 一区二区福利视频| 精品偷拍一区二区三区在线看| 国产精品91视频| 亚洲综合成人婷婷小说| 国产精品第七影院| 国产精品黄页免费高清在线观看| 国产女精品视频网站免费| 国产精品一区二区在线| 国产999在线观看| 久久精品国产亚洲一区二区| 成人免费看吃奶视频网站| 国自产精品手机在线观看视频| 欧美老妇交乱视频| 国内揄拍国内精品少妇国语| 日韩经典中文字幕| 一区二区亚洲欧洲国产日韩| 欧美裸体xxxx极品少妇| 日本精品va在线观看| 国内揄拍国内精品| 久久精品91久久香蕉加勒比| 福利微拍一区二区| 亚洲一区二区三区xxx视频| 第一福利永久视频精品| 最新的欧美黄色| 欧美专区在线播放| 一级做a爰片久久毛片美女图片| 久久精品色欧美aⅴ一区二区| 国a精品视频大全| 亚洲伦理中文字幕| 欧美视频国产精品| 91久热免费在线视频| 亚洲精品国产欧美| 亚洲综合自拍一区| 亚洲伊人一本大道中文字幕| 亚洲aⅴ日韩av电影在线观看| 欧美精品电影免费在线观看| 亚洲护士老师的毛茸茸最新章节| 欧美激情亚洲激情| 欧美成人激情图片网| 久久久久久国产精品美女| 亚洲综合国产精品| 国产欧美韩国高清| 欧美成人剧情片在线观看| 亚洲最大的免费| 日韩在线视频免费观看高清中文| 久久久精品一区| 中文字幕日韩在线播放| 91久久久久久久久久久久久| 亚洲精品av在线播放| 97av在线播放| 91丨九色丨国产在线| 91精品国产乱码久久久久久久久| 欧美一级黄色网| 日韩有码在线播放|