0

サイズが約 500 行の XML ファイルに対して、次のソリューションを実行しました。


  1. XSLT変換 を使用して、必要な要素ファイルを含む大きなXMLファイルを小さなXMLに変換
  2. JavaコードでSAXON XMLパーサーを使用するよりも、これらの新しく生成されたファイルの解析を行いました
  3. JAXB の概念を使用するよりも、XML を Java オブジェクトに、さらに SQL SERVER に非整列化しました。

しかし、今では、15000 行以上の非常に大きく、非常に構造化されていない新しい XML ファイルがあります。したがって、上記のソリューションを使用してデータベースにデータを取得することは非常に非効率的です。これらの大きなファイルを操作するための最善の解決策を見つけようとしています。私はいくつかの調査を行い、構造化されていない XML ファイルの複雑さを軽減することができる "Altova XML スパイ" と呼ばれるこのツールに出会いました。また、これらの大きなファイルを Hadoop クラスターにダンプし、Hive/Pig を使用してデータを取得することも考えました。

だから私の質問は、誰かが新しい解決策や手順を提案できるかということです. 大きな XML ファイルを少し複雑でないファイルにして再生できるツール。

これだけの情報で十分であることを願っています。他に必要なものがあれば教えてください。

前もって感謝します。

4

3 に答える 3

1

問題をより詳細に理解せずにアドバイスすることは非常に困難です。あなたが説明したプロセスは本質的に非常に非効率に見えます.JAXPステップが必要な理由はわかりませんが、おそらくそれには正当な理由があります. 申し訳ありませんが、これは単純なコーディングの質問ではありません。1 日か 2 日はコンサルタントの助けが必要です。

于 2013-02-28T23:38:22.257 に答える
1

とにかく Pig でクエリを実行する予定がある場合は、Pig を使用してロードするのはどうですか?

たとえばorg.apache.pig.piggybank.storage.XMLLoader()、これを行う関数です。

しかし、15,000 個のアイテムで遊ぶにはクラスターが必要だと思うなら、それは間違いです。どのパソコンでも 15,000 個のアイテムを管理できます。私はここで Michael Kay に同意します。これは非常に少量のデータです。

私の Hadoop クラスターでの経験からすると、クエリがコンピューターで 30 ~ 40 秒よりも速い場合、クラスターは必要ありません。map-reduce ジョブ構造をセットアップするのに約 30 秒かかるからです。また、パーソナル コンピューターで数分かかるクエリの場合でも、クラスターの複雑さは、数秒を割く価値はありません。

于 2013-03-01T10:37:50.317 に答える
0

1500 行は私にはあまり大きく聞こえません。実際、私はそれを小さいと呼びます。

申し訳ありませんが、私は本当に助けることができません. この種のサイズのデータ​​の処理が問題になる理由がわかりません。

于 2013-02-28T16:48:39.387 に答える