我在解析文本文件(應用ETL方法)相關的小型開發項目。我創建了一個在我的本地機器上正確運行的演示代碼,但是當我將它部署到Apache Tomcat容器時,它會產生很多與內存溢出,類型轉換等有關的錯誤。解析文本文件:效率和性能
這是一般事實:
這是file structure(筆記指定了每個單元的數據類型和其他相關信息)。
注意RegisterType1重複每位客戶僅能一次,RegisterType2可以重複一次或多次,RegisterType3和RegisterType4重複一次。
另請注意,每種寄存器類型的長度都不相同,即:RegisterType1 12個字段,RegisterType2 10個字段等。
正如我前面所說,我目前的解析器是如此糟糕的編碼,它會產生很多錯誤。 This is the actual code和this one(創建數據庫連接並執行查詢的類)。
這是需要解析的example text file。
當前開發環境 平臺:爪哇6 集裝箱:Tomcat的7 VPS配置文件:RAM 1.7GB,存儲:20GB,處理器:(英特爾(R)至強(R)CPU X5650 @ 2.67 GHz,24個核心)。
實際問題:
- 性能比較差
- 內存溢出
- 解析錯誤:數據類型轉換,字段之間的分隔符(分號)(例如:...巴黎;弗蘭[這裏分號] CE ; ...)
我想創建一個高效,正確和高性能的解析器。
我需要對此主題提出一些建議。哪種最好的方式來創建一個好的解析器?
在此先感謝您的信息。
Regards,
SO問題應該是自包含和可以理解的,無需轉到外部頁面。這是因爲外部頁面可能會消失,而SO問題應該無限期地保持有效,以便未來的訪問者受益。如果涉及的代碼過多,則不適合SO。 – hyde 2013-03-13 20:17:48
是的 - 也許你有一些特定的部分,你知道是把它拿回來? – ddmps 2013-03-13 20:18:40
在您的本地機器上運行與服務器上完全相同的輸入文件並觀察發生了什麼。 – Axel 2013-03-13 20:18:47