データをフェッチする必要のあるXMLタグを含む最大1GBのXMLファイルがあります。次の形式のXMLファイルがあります(実際のファイルのサイズは約ギガバイトであるため、サンプルデータのみを貼り付けています)。
report.xml
<report>
<report-name name="ALL_TIME_KEYWORDS_PERFORMANCE_REPORT"/>
<date-range date="All Time"/>
<table>
<row campaignID="79057390" adGroupID="3451305670" keywordID="3000000" keyword="Content" avgPosition="1.55" cost="252910000" clicks="11" conv1PerClick="0" impressions="7395" day="2012-04-23" currency="INR" account="Virtual Voyage" timeZone="(GMT+05:30) India Standard Time" viewThroughConv="0"/>
<row campaignID="79057390" adGroupID="3451305670" keywordID="3000000" keyword="Content" avgPosition="1.16" cost="0" clicks="0" conv1PerClick="0" impressions="160" day="2012-04-23" currency="INR" account="Virtual Voyage" timeZone="(GMT+05:30) India Standard Time" viewThroughConv="0"/>
<row campaignID="79057390" adGroupID="3451305670" keywordID="3000000" keyword="Content" avgPosition="1.56" cost="0" clicks="0" conv1PerClick="0" impressions="34" day="2012-04-23" currency="INR" account="Virtual Voyage" timeZone="(GMT+05:30) India Standard Time" viewThroughConv="0"/>
</table>
</report>
XMLファイルを解析/処理し、Pythonでxmlタグからデータをフェッチするための最良の方法は何ですか?
XMLファイルを処理できるフレームワークはありますか?
メソッドは高速である必要があります。100秒以内に終了する必要があります。
私はPythonでHadoopを使用してXMLファイルを処理してきましたが、通常、データを処理するだけで200秒近くかかります...したがって、上記のXMLタグを解析し、タグからデータをフェッチする代替ソリューションを探しています。
ある意味でのタグからのデータは次のとおりです。
campaignID="79057390" adGroupID="3451305670" keywordID="3000000" keyword="Content" avgPosition="1.16" cost="0" clicks="0" ...
XMLファイルを処理した後、データと値(79057390,3451305670 ...)をMySQLデータベースに保存します。必要なのは、サイズが約1GBのXMLファイルを処理し、処理されたデータを100秒未満でMySQLデータベースに保存できるようにすることだけです。