2016-12-22 11 views
1

hadoop環境でXMLファイルの解析に使用できるツールがあるかどうかを知りたいと思います。私は地図を使用することを知っている私たちはXMLファイルを解析することができますツールがない場合、構文解析よりも言語スカラ、Javaまたは豚良いですか? 助けてください。HadoopでXMLを解析するためのツール

答えて

1

通常、hadoop環境ではJavaが使用できます。ですから、私は "Java Architecture for XML Binding"またはJAXBを使用します。

それは比較的使いやすいですし、主要なアプローチが含まれる開発戦略を持っています

  • あなたが他の誰かが、あなたは、Javaの内部にアクセスすることを定義していることをXMLを持っています。
  • XMLで表現したいJavaデータ構造があります。

これは多くの機能を備えていますが、必要がない限り、すべてのベルとホイッスルの追加について心配する必要はありません。それはまたかなり速いです。

You can find the learning path for it here

Scalaも優れた選択肢ですが、高い学習曲線から少し苦しんでいます(既にJavaを知っていて、ラムダベースの言語にさらされている場合はそれほど高くありません)。ドキュメンテーションは合理的ですが、時にはそれがJavaで利用可能なドキュメンテーションのほんの一部にすぎません。

Scalaは、Scalaでの配信実績がなかったチームの第2の選択肢となります。それは困難ではないし、いくつかの問題のためにScalaははるかに簡単ですが、Scalaの経験をばらつかずに、Scala以外のアプローチを活用するScalaの問題を解決する傾向があります。

豚は私が経験したことのある言語ですので、私は解説を予約します。

+0

xmlファイルのサイズがJAXBを使用して解析するのが簡単な場合は、 – animal

+0

xmlを解析するツールはありますか? – animal

+0

JAXBはJavaを解析するツールです。合理的なサイズのXMLファイルを処理できます。大規模なXMLファイルについて実際に話している場合は、SAXというJava XML解析ツールのうちの小さい方のコンポーネントを使用することをお勧めします。 SAXが提供する主な最適化は、XMLが非常に大きいときにあなたのプログラムのメモリを保持できない場合、気にしないXMLの部分をより簡単にスキップすることができるということです。このスキップは両方のツールキットで行うことができますが、SAXは非常に原始的なので、奇妙なシナリオ(少なくとも私の場合)を処理するのは簡単です。それをプッシュダウンパーサの一部として扱います。 –

関連する問題