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

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

Neptune任務構建系統的實例

2019-11-18 11:57:19
字體:
來源:轉載
供稿:網友

最近公司有一個需求發現用neptune實現起來非常清新爽潔不緊繃。

需求是這樣:

  • 需要從某公司下載大量的數據文件。
  • 一共有十八種不同的文件,比如Customer,Company, StockIndex等等。
  • 從2003年4月一直到現在,每個工作日都有數據文件下載。周末沒有。
  • 對某一天,比如2005/1/3的Customer文件,url的格式是:http://river.com/repos/2005/01/03/Customer.zipNeptune任務構建系統的實例

    。
  • 開始需要把所有歷史文件下載下來。
  • 然后天天都持續下載新文件。
  • 在給定的某一天,不一定每個文件都有。有時候Customer沒有,或者Company沒有。理論上,可以每個文件都沒有。
  • 下載下來的文件需要unzip。unzip出來的會是一個csv文件。
  • 這個csv文件需要被輸入到數據庫中的對應表中。這一天的日期也要存在這個表里,作為一個列。也就是說Customer, Company這些表除了有這些數據文件里面的每一個field之外,還有一個date列,來表示這個紀錄是哪一天的。

下面是一些思考:

  1. 因為一個文件可能也可能不存在,所以這個文件不存在不能讓整個流程停下來。文件不存在我們需要停止接下來的對這個文件的解壓和導入數據庫。但是不能中斷其他文件的下載。
  2. 因為從別的公司下載,也無法保證敵人給我們的文件永遠格式正確。假如萬一解壓失敗,或者導入數據庫失敗,也能終端整個任務。
  3. 文件需要下載到本地目錄里面,因為不同日期的文件名字一樣,所以我們本地也可以構建一個yyyy/mm/dd格式的目錄樹。
  4. 一個一個文件下載,解壓,導入,非常沒有效率。也許敵人的網絡很慢,這樣整個任務就會持續太長時間。最好的辦法是能夠并行同時處理多個文件。
  5. 持續更新的時候,不能簡單地只使用當前日期。因為也許因為某些原因前一天的某個文件沒有及時更新或者下載失敗了之類的。為了保證程序的健壯性,我們最好是從數據庫讀取最新日期,那一天的下一天就是我們要開始處理的日期。
  6. 下載,解壓,調用數據庫這些基本動作都可以用ant的任務來實現。
  7. 導入數據庫我們用一個存儲過程實現。

好,下面讓我們從頭構建這個任務。

下載:

download srcfile zipfile = ant.get{src=srcfile,dest=zipfile,username="myuser",
passWord="mypwd",usetimestamp=true,verbose=false};

解壓:

unzip zipfile destdir = ant.unzip{src=zipfile, dest=destdir};

導入數據庫:

importFile date name = ant.sql(db_connection).with[    "exec loadDataFile '${destdir}', '${datestr}', '${name}'"]where  datestr = datepath date;  destdir = "$csvroot/$datestr";end;

導入數據庫這一步用到了幾個輔助函數和變量。

  • datepath函數負責把一個java.util.Date對象轉換成"yyyy/MM/dd"格式的字符串。它使用jaskell的內建函數format:
    datepath date = jaskell.dates.format{pattern="yyyy/MM/dd"} date;
  • db_connection是一個儲存著所有數據庫連接相關信息的對象。
  • csvroot是儲存所有csv文件的根目錄。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产一区二区三区久久狼黑人| 亚洲韩国日本中文字幕| 久久久久久久香蕉网| 人人做人人澡人人爽欧美| 日韩精品日韩在线观看| 亚洲欧美在线磁力| 日韩av影视综合网| 日韩在线一区二区三区免费视频| 国产精品日本精品| 日韩精品视频在线观看免费| 一本大道亚洲视频| 日韩欧美第一页| 中文字幕9999| 日韩精品免费综合视频在线播放| 92国产精品久久久久首页| 97国产精品久久| 亚洲精品xxx| 亚洲欧美日韩国产中文专区| 色综合男人天堂| 欧美激情视频网| xxav国产精品美女主播| 国产日本欧美一区二区三区在线| 成人综合网网址| 欧美成在线观看| 成人免费看吃奶视频网站| 韩国一区二区电影| 亚洲精品视频中文字幕| 91免费福利视频| 国产一区二区丝袜| 久久国产一区二区三区| 亚洲成色www8888| 成人亚洲欧美一区二区三区| 久久成年人视频| 久久久久久久电影一区| 97色在线视频| 久久视频免费在线播放| 亚洲va欧美va在线观看| 国产亚洲精品久久久优势| 欧美亚洲国产视频小说| 国产精品三级久久久久久电影| 亚洲精品福利资源站| 国产综合色香蕉精品| 亚洲2020天天堂在线观看| 国产精品影院在线观看| 色爱精品视频一区| 亚洲精品aⅴ中文字幕乱码| 午夜精品久久久久久久99热| 69av在线播放| 久久亚洲一区二区三区四区五区高| 国产精品高潮呻吟久久av黑人| 精品视频在线播放色网色视频| 成人黄在线观看| 久久精品国产清自在天天线| 色噜噜国产精品视频一区二区| 国产精品免费看久久久香蕉| 欧美夜福利tv在线| 欧美精品在线观看| 日韩成人在线观看| 欧美大尺度电影在线观看| 亚洲国产欧美日韩精品| 亚洲欧美国产视频| 欧美午夜精品久久久久久浪潮| 色诱女教师一区二区三区| 日韩精品在线影院| 久久久久久久香蕉网| 日韩视频在线一区| 国产精品www色诱视频| 亚洲精品电影在线观看| 欧美在线中文字幕| 亚洲精品综合久久中文字幕| 成人免费网站在线看| 日韩欧美国产黄色| 久久精品国产综合| 国产精品稀缺呦系列在线| 亚洲欧美国产制服动漫| 欧美一级视频在线观看| xvideos亚洲| www国产精品视频| 亚洲精品一二区| 中文字幕欧美日韩在线| 欧美国产视频一区二区| 亚洲区中文字幕| 国产成人综合av| 欧美日韩人人澡狠狠躁视频| 一区二区欧美亚洲| 国产69精品久久久| 日韩欧美亚洲范冰冰与中字| 亚洲男人第一av网站| 中文在线不卡视频| 亚洲精品成人免费| 久久精品视频在线观看| 亚洲国产精品久久久久秋霞不卡| 欧美日韩第一视频| 精品视频在线观看日韩| 国产男人精品视频| 国产精品免费福利| 午夜精品蜜臀一区二区三区免费| 国产精品激情自拍| 日韩av黄色在线观看| 色先锋久久影院av| 在线观看欧美日韩| 久久久久久18| 在线观看精品国产视频| 欧美黑人巨大xxx极品| 欧美有码在线观看视频| 亚洲欧洲午夜一线一品| 亚洲精品久久久久久久久久久| 久久精品视频va| 色一情一乱一区二区| 久久91亚洲精品中文字幕奶水| 91po在线观看91精品国产性色| 欧美国产日韩精品| 欧美成人中文字幕在线| 午夜欧美大片免费观看| 久久久免费av| 中文字幕亚洲专区| 51精品在线观看| 欧美日韩免费观看中文| 中文字幕精品一区二区精品| 日韩精品视频免费在线观看| 97香蕉超级碰碰久久免费软件| 欧美激情免费在线| 91日本在线视频| 久久中国妇女中文字幕| 久久国产精品久久精品| 亚洲精品成人免费| 亚洲天堂网在线观看| 精品视频久久久久久久| 欧美在线视频免费观看| 国产精品自拍偷拍视频| 国产噜噜噜噜久久久久久久久| 日韩hd视频在线观看| 欧美巨大黑人极品精男| 日韩精品亚洲元码| 精品视频偷偷看在线观看| 精品视频久久久| 欧美福利视频在线| 久久国产一区二区三区| 久久久999精品免费| 亚洲乱码国产乱码精品精| 国产成人久久久精品一区| 成人免费自拍视频| 欧美人与物videos| 欧美在线视频导航| 精品国产老师黑色丝袜高跟鞋| 亚洲午夜精品久久久久久久久久久久| 亚洲欧美国产精品久久久久久久| 国产精品一二三在线| 久久综合国产精品台湾中文娱乐网| 一区二区在线免费视频| 欧美国产日韩一区二区| 欧美国产亚洲精品久久久8v| 精品国产一区二区在线| 久久久久久久久91| 国产精品www网站| 亚洲经典中文字幕| 国产精品久久久久7777婷婷| 不卡av日日日| 日韩欧美在线视频免费观看| 国产一区二区香蕉| 亚洲福利视频网| 欧美黄色小视频| 久久成人av网站| 红桃视频成人在线观看|