0

我如何开发将执行以下操作的通用程序。

一个。从 HBASE 读取数据 b. 将数据加载到 HBASE c. 在 MapReduce 中使用 HBASE 表作为查找

我需要创建足够通用的转换,并且它们应该很容易集成到数据管道中。

4

1 回答 1

0

HBase 将数据存储为字节数组,因此您可以将任何数据放入您想要的。您可以将所有内容序列化为 XML 或 JSON,并将 HBase 视为纯 blob 存储。这实际上非常有效,只要您只想按键查询,或根据键扫描表即可。

这样做会失去一件事是基于行值在服务器端进行过滤的能力。例如,如果您想要上个月的 HTTP 事务表中的所有行(其中键基于时间戳),但您只想查看有错误条件(500 响应)的行,如果您将响应代码存储为列,您可以创建一个仅返回具有 500 响应代码的项目的过滤器。虽然您仍然需要扫描表的相关部分,但只有与错误代码匹配的数据才会通过网络发送到您的 hbase 客户端。

解决此问题的一种方法是使用混合方法,将数据存储为序列化对象(JSON / XML / 其他),并为您可能想要过滤的内容存储其他列。

于 2012-05-04T23:05:21.900 回答