我如何开发能够执行以下操作的通用程序。
一个。从HBASE读取数据 湾将数据加载到HBASE C。在MapReduce中使用HBASE表作为查找
我需要创建足够通用的转换,并且它们应该可以在数据管道中轻松集成。
答案 0 :(得分:0)
HBase将数据存储为字节数组,因此您可以将任何数据放入所需的数据中。您可以将所有内容序列化为XML或JSON,并将HBase视为纯blob存储。这实际上非常有效,只要您只想按键查询,或者根据键扫描表格。
这样做会导致丢失的一件事是能够根据行值在服务器端进行过滤。例如,如果您希望过去一个月的HTTP事务表中的所有行(其中密钥基于时间戳),但您只想查看具有错误条件的行(500响应),如果您将响应代码存储为列,则可以创建仅返回具有500响应代码的项目的过滤器。虽然您仍需要扫描表格的相关部分,但只有与错误代码匹配的数据才会通过网络发送到您的hbase客户端。
解决此问题的一种方法是使用混合方法,将数据存储为序列化对象(JSON / XML /无论如何),并为可能要过滤的内容存储其他列。