-1
我的要求有點棘手。複雜的XML需要從文本文件輸入中生成。我已經成功完成了這個任務,但它涉及'11 XML連接'。由於當數據集的數據量很大時,代碼的性能是可悲的。XML加入步驟Pentaho Kettle性能很低
如何編碼具有良好性能的複雜XML生成?
任何建議!
經過一些建議後,我刪除了所有連接,並採取了流查找(如水壺示例中所示)和'修改後的java腳本'進行最終連接。
但它在'最後的連接步驟'失敗。下面是加入失敗並拋出'內存不足錯誤'
var request = new XML()
request = <newbiz xsi:schemaLocation="http://www.crsoftwareinc.com/xml/ns/titanium/common/v1_0 newbiz.xsd" xmlns="http://www.crsoftwareinc.com/xml/ns/titanium/common/v1_0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<newbiz-header>
<total-consumers>1</total-consumers>
<creditor-name>DefCrdtr</creditor-name>
<total-principal>1</total-principal>
<total-charge>1</total-charge>
<total-interest>1</total-interest>
<total-balance>1</total-balance>
</newbiz-header>
<consumers>{xmlConsumerNewFinal}</consumers>
</newbiz>
var xmlconsumers_final=request.toXMLString();
任何建議!
我接受了你的答案,因爲它在性能上有所幫助。但是由於它超過了400K行,它失敗了,引發'內存不足錯誤'。我已經用腳本更新了我的問題,根據您的建議我寫了這個問題。我可以進一步做什麼來提高性能? –
謝謝,但我已經提出到8GB。我想找到一個最佳的方式來做到這一點。當我使用笛卡爾連接而不是腳本時,它正在工作。我很困惑,因爲我想使用腳本。 –
將最後一步視爲字符串連接,而不是使用xml對象。這個公羊的表現要好得多 – jipipayo