我不是来自java,所以我的问题可能很简单,但我需要清楚的步骤来实现。
现有项目:webmethods连接到oracle数据库,获取某些属性文件并将日志信息插入某些表中。
问题:很多时候,数据库宕机,所以执行延迟。
新要求:我们必须用hbase替换现有的oracle表。我已经用pig将代码写入hbase。但我真的不知道如何将实时数据写入hbase。
我发现使用java客户机或thrift连接我可以编写。我需要非常详细的解释。我得申请一个项目。请帮帮我。
我不是来自java,所以我的问题可能很简单,但我需要清楚的步骤来实现。
现有项目:webmethods连接到oracle数据库,获取某些属性文件并将日志信息插入某些表中。
问题:很多时候,数据库宕机,所以执行延迟。
新要求:我们必须用hbase替换现有的oracle表。我已经用pig将代码写入hbase。但我真的不知道如何将实时数据写入hbase。
我发现使用java客户机或thrift连接我可以编写。我需要非常详细的解释。我得申请一个项目。请帮帮我。
1条答案
按热度按时间2g32fytz1#
你知道面向行的数据库,hbase是面向列的数据库,但我们有apachephoenix。
apachephoenix是一个基于hbase的关系数据库层,作为一个客户机嵌入式jdbc驱动程序提供,针对hbase数据的低延迟查询。apachephoenix接受sql查询,将其编译成一系列hbase扫描,并协调这些扫描的运行以生成常规的jdbc结果集。表元数据存储在hbase表中并进行版本控制,以便在以前版本上的快照查询将自动使用正确的模式。直接使用hbase api以及协处理器和自定义过滤器,可以使小查询的性能达到毫秒级,而数千万行的性能则达到秒级。
这很容易解决你的问题。http://phoenix.apache.org/