2

私は最近、何百万ものレコードを処理するために rdbms から Hbase に切り替えました。実際には、何百、何千、何百万ものレコードを含むテキスト ファイルがあり、それらを読み取って Hbase に保存する必要があります。したがって、同じユーザーに属しているため、互いにリンクされている 2 つのテキスト ファイル (RawData ファイル、ラベル ファイル) のセットがあります。 . したがって、RawData ファイルと RawData テーブルは次のようになります。

ここに画像の説明を入力 ここに画像の説明を入力

したがって、RawData テーブルには、実際にはテキスト ファイルのファイル名 (01-01-All-Data.txt) であり、テキスト ファイルの各行の行番号を持つ行キーがあることがわかります。列ファミリーはランダムな「r」であり、列修飾子はテキストファイルの列であり、値は列の値です。これは、テーブルにレコードを挿入する方法であり、3 番目のテーブル (MapFile) があり、テキストファイルの名前を列修飾子としてユーザーの行キー ユーザー ID として格納し、テキストファイルのレコードの総数を次のような値として格納します。

            01-01-All-Data.txt       column=m:1, timestamp=1375189274467, value=146209  

RawData テーブルを行ごとに読み取るために、Mapfile テーブルを使用します。

この種の Hbase スキーマについての提案は何ですか? 適切な方法ですか?それともHbaseの概念では意味がありませんか?

さらに、Hbase に 146207 行の 21 mbs ファイルを挿入するのに約 3 分かかることに注意してください。

ご意見をお聞かせください。

ありがとう

4

1 に答える 1