现在的位置: 首页 > 综合 > 正文

D2RQ对HBase进行Semantic Data Mapping

2013年12月08日 ⁄ 综合 ⁄ 共 898字 ⁄ 字号 评论关闭

随着信息的爆炸式增长,普通的关系型数据库已经不足以容纳当下巨量的数据。为了管理这些big data,许多新兴的工具和框架应运而生。当然包括我正在学习和使用的HBase——Hadoop Database,它是一个高可靠性、面向列、可伸缩的分布式存储系统。

关于Semantic Web,它的提出是为了能够通过给网上的数据添加能够被计算机理解的语义,从而使整个Web成为一个通用的信息交换媒介。它的核心是通过将Web上的东西都用统一的格式(RDF)表示,从而能够很好的整合这些不同位置的信息以发送到Web上。

综上,我们了解到HBase是用来存储数据的,Semantic Web是用来使用、发布数据的,那么两者之间如何建立起关联,如何使HBase的数据发布为Semantic Web Data是接下来我需要研究的问题。

D2RQ作为一种将Non-RDF格式的数据转化为RDF格式的Semantic Web Data的工具,在当下的Semantic Web研究中应用较为广泛,然而当前的D2RQ的所有版本,包括最新版本0.8.1都只能对关系型数据库的数据进行Semantic Data Mapping。

D2RQ的介绍可以参考http://d2rq.org的详细介绍。

        那么我如何才能够通过D2RQ对HBase进行Semantic Data Mapping呢?

学习过D2RQ之后我们发现,将关系型数据转换为Virtual RDF Graph的入口和关键在于关系型数据会为外部程序D2RQ提供一个JDBC Driver,这样子D2RQ通过这种方式能够访问关系型数据库中的数据。为了能够使D2RQ访问HBase中的数据,经过实践证明,我们能够使用Hive作为HBase与D2RQ的纽带,完成D2RQ对HBase的Semantic Data
Mapping。

需要注意的是,Hive只能支持部分SQL-92标准,我们需要对D2RQ的一些核心功能模块做些调整,比如它的SQLIterator类。具体的实现,将在以后总结。因此D2RQ的某些功能(比如mapping数据库table的外键、主键——在HBase中是不存在这种说法的)不能够在该语境中使用。

抱歉!评论已关闭.