0

次のことを行う汎用プログラムを開発するにはどうすればよいですか。

を。HBASE からのデータの読み取り b. HBASEへのデータのロード c.MapReduce で HBASE テーブルをルックアップとして使用する

十分に一般的で、データ パイプラインに簡単に統合できる変換を作成する必要があります。

4

1 に答える 1

0

HBaseはデータをバイト配列として格納するため、任意のデータを好きなように配置できます。すべてをXMLまたはJSONにシリアル化し、HBaseを純粋なBLOBストレージとして扱うことができます。これは、キーでクエリを実行するか、キーに基づいてテーブルをスキャンするだけであれば、実際には非常に効率的です。

これを行うことで失われることの1つは、行の値に基づいてサーバー側でフィルタリングする機能です。たとえば、先月のHTTPトランザクションのテーブル(キーはタイムスタンプに基づいている)のすべての行が必要であるが、エラー状態(500応答)の行のみを確認したい場合は、応答コードを列として保存した場合は、500応答コードのアイテムのみを返すフィルターを作成できます。テーブルの関連部分をスキャンする必要がありますが、エラーコードに一致するデータのみがネットワーク経由でhbaseクライアントに送信されます。

これを回避する1つの方法は、データをシリアル化されたオブジェクト(JSON / XMLなど)として格納し、フィルター処理する可能性のあるもののために追加の列を格納するハイブリッドアプローチを実行することです。

于 2012-05-04T23:05:21.900 に答える