1

任意の形式(json、xmlなど)のデータをhbaseテーブルにロードする方法は?ジョブ構成(Java)で設定できる特定の出力形式はありますか? hbase または任意の形式のデータを hbase に内部的にロードできるアプリはありますか?

4

2 に答える 2

2

hbaseテーブルに挿入するデータはバイト単位である必要があります。したがって、XMLまたはJSONであっても、同じものをバイトに変換する必要があります。hbaseテーブルからデータを取得するときは、逆のロジックを適用する必要があります。変換ロジックを含むユーティリティクラスがその役割を果たします。

于 2012-04-27T09:30:53.957 に答える
0

データを HBase に保存する場合は、単なるファイルではなく、追加の選択を行う必要があります。たとえば、キーが何であるか、どの列ファミリーを持つか、それらの特性 (圧縮、TTL など) を決定する必要があり、すべての入力を単一の列に格納するか、それを解析してフラグメントを別の列に格納するかを決定する必要があります。列。

これは、データを保存する前に何らかの処理を行う必要があり、それは単なるジョブ構成ではないことを意味します。

つまり、HBase に書き込むジョブを作成する場合は、次のように TableMapReduceUtil を介してどのテーブルが関係しているかを伝えることができます。

    Job job = new Job(conf, "My Job");
    job.setJarByClass(Mymapred.class);

    Scan scan = new Scan();
    // set the scan parameters ..

    TableMapReduceUtil.initTableMapperJob(
            INPUT_TABLE_NAME,
            scan,
            MyMapper.class,Text.class,Result.class,
            job);

    TableMapReduceUtil.initTableReducerJob(
            OUTPUT_TABLE_NAME,
            MyReducer.class,
            job);
于 2012-05-02T12:54:34.640 に答える