143.2. Camel 和 HBase
在 camel 路由中使用 datasotre 时,始终存在指定 camel 消息将存储到数据存储中的 chalenge。在基于文档的存储方面,消息正文可以直接映射到文档。在关系数据库中,ORM 解决方案可用于将属性映射到列等。在基于列中的存储方面更具挑战性,因为没有执行这种映射的标准方法。
HBase 添加了两个额外的挑战:
- HBase 组列到系列中,因此只需使用名称惯例将属性映射到列则不够。
- HBase 没有类型的概念,这意味着它将所有内容存储为 byte[],并且不知道 byte[] 代表 String、数字、序列化 Java 对象或二进制数据。
为克服这些挑战,camel-hbase 使用消息标头来指定消息到 HBase 列的映射。它还能够使用一些 camel-hbase 提供的类来建模 HBase 数据,并可轻松转换为 xml/json 等。
最后,它允许用户实施和使用自己的映射策略。
无论映射策略 camel-hbase 都将消息转换为 org.apache.camel.component.hbase.model.HBaseData 对象,并将该对象用于其内部操作。