私はHBase(バージョン1.1.X)にローカルに保存されたいくつかのXMLファイルを入れようとしています。XMLをHBaseに入れる適切な方法
私の目標は、MapReduce(リダクションステージなし、)を使用して、HBaseテーブルにこれらのXMLのコンテンツを文字列として保存し、HDFSにロードしないことです。ここで
は私の擬似コードです:
fetchXMLs(path);
XML2OneLineFile();
configureHBase(); // + establishing connection
Map(input, output); //input: one XML file in one line; output : is the Put() of HBase;
closeConnection();
は正しい問題に取り組むこの方法です、またはそれを行うためのより良い方法はありますか?
ps:XMLからデータを解析したり抽出したりする必要はありません。保存するだけです。事前に
おかげ
実際、私のXMLはそれほど大きくはありません。言い換えれば、短期間にたくさんの小さなサイズのXML(約90.000ファイルから80KB〜500KBまで)を格納する必要があります。 – mttb12
Hbaseは問題ありません。これらのファイルの内容をスキャンする必要がない場合は、コンテンツを列属性にダンプするだけです。ただし、スキャンが遅くなります(各ファイルのすべての内容をスキャンする必要があります)。どのようにデータにアクセスする必要がありますか? – Whitefret
データは、Hbaseテーブルの特定の(まれにすべての)レコードへのターゲット取得によってアクセスされます。だから、まだHDFSにファイルを読み込まないというアイデアは正しいですか? – mttb12