1

こんにちは、VMware に仮想分散モードで hadoop-0.20.2-cdh3u5 をインストールしました。この確立された環境を使用して XML ファイルを解析したいと考えています。map/reduce コードを記述し、それらを.jarファイルとしてクラスターにエクスポートし、クラスター上で実行することで、これを行うことができます。私が理解できないのは、このための Java 解析コード (SAXON パーサーを使用) を map/reduce クラスに入れ、出力で csv ファイルを生成する方法です。

だから私はこの解析コードを持っています:(ここでSAXonパーサーを使用しています)

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;

public class JAXBC {
    private JAXBContext context;
private Unmarshaller um;
public JAXBC() throws JAXBException
{
    // creating JAXB context and instantiating Marshaller
    JAXBContext context = JAXBContext.newInstance(ConnectHome.class);

    // get variables from the xml file
    um = context.createUnmarshaller();

}

  public ConnectHome convertJAXB(String strFilePath) throws FileNotFoundException,     
   JAXBException 
   { 
      return ((ConnectHome) um.unmarshal(new FileReader(strFilePath)));
   }
 } 

私はこのような XML を持っています: ( ここにサンプル要素 )

 <Course>
   <ID>1001</ID>
   <Seats>10</Seats>
   <Description>Department: CS , Faculty: XYZ</Description>
   <Faculty>
       <Name>XYZ</Name>
       <Age>30</Age>
   </Faculty>
 </Course>

今私の問題は、この特定のコードを map/reduce 形式で記述する方法を理解できないことです。私はこの特定のチュートリアルを Hadoopと yahoo のさまざまなチュートリアルと呼んでいました。

だから私の質問は、そのようなマップ削減コードを書き、そこからjarファイルを作成する方法を教えてもらえますか?

他の情報が必要な場合はお知らせください。できるだけ短くしようとしました。

前もって感謝します。

注: これは mapreduce の世界では非常に些細な質問のように聞こえますが、ここで示したこの XML は、内部にいくつかのタグを含む単一のタグの例にすぎません。

4

2 に答える 2