問題タブ [hfile]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hbase - HBase FileInfo ブロック
すべての HBase の記事と書籍で、HFiles の Meta および FileInfo ブロックについて次のように言及されています。
「Meta ブロックは、キーを文字列として大量のデータを保持するように設計されていますが、FileInfo は、キーと値が両方ともバイト配列である小さな情報に適した単純な Map です。」または「Metadata ブロックは高価です。メタデータ インスタンスごとにメタデータ ブロックを実行するのではなく、一連のシリアル化されたデータを含むもの。メタデータが小さい場合は、ファイル情報に追加することを検討してください」
なぜそれがそう言うのか理解したい。大きなデータを Meta に保持し、小さなデータをFileInfo
.
これを知りたい理由は、プロジェクトの FileInfo にいくつかの情報を保存しているためです。しかし、時間が経つにつれて保存する情報が増え始め、現在では FileInfo に最大 15 ~ 20 MB のデータがあります。上記のテキストから、これを行うべきではないようです。しかし、それが私たちのシステムにどのような影響を与えているのかさえわかりません。
誰かがこれに光を当ててください。HFile
コードとコードを調べましたがFileInfo
、明らかな理由は見つかりませんでした。
hadoop - Java クライアントから LoadIncrementalHFiles を実行する
hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /user/myuser/map_data/hfiles mytable
Java クライアント コードからメソッドを呼び出したい。
アプリケーションを実行すると、次の例外が発生します。
hbase ...
Hadoop サーバーのコンソールから上記のコマンドを実行すると、問題なく動作します。しかし、HBase /Hadoop クライアント ライブラリを使用して Java コードからこれらを実行しようとすると、例外が発生して失敗します。
ここにコードスニペットがあります:
プロジェクトに依存関係を追加する必要がありますか? しかし、どのように/どこで/どのバージョンですか?
HBase 1.1.2 と Hadoop 2.7.3 を含む HDP 2.5 を使用しています。