CN104036006A - 一种实现Windows下连接控制Hbase的方法及装置 - Google Patents

一种实现Windows下连接控制Hbase的方法及装置 Download PDF

Info

Publication number
CN104036006A
CN104036006A CN201410279863.7A CN201410279863A CN104036006A CN 104036006 A CN104036006 A CN 104036006A CN 201410279863 A CN201410279863 A CN 201410279863A CN 104036006 A CN104036006 A CN 104036006A
Authority
CN
China
Prior art keywords
hbase
function
encapsulation
carrying
metadata
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410279863.7A
Other languages
English (en)
Inventor
曹连超
卢军佐
辛国茂
亓开元
赵仁明
房体盈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201410279863.7A priority Critical patent/CN104036006A/zh
Publication of CN104036006A publication Critical patent/CN104036006A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种实现Windows下连接控制Hbase的方法及装置,包括:封装所有Thrift的应用程序编程接口(API)的访问接口的功能函数及获取Hadoop数据库(Hbase)元数据的函数;还包括:当用户访问Hbase时,建立HBase服务器(Server)与Hbase的连接;HBase Server将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。本发明通过将连接和控制HBase的功能函数进行有效封装,使Windows下连接和控制HBase得到稳定,采用C#封装的功能函数可以进行移植,适用范围广。

Description

一种实现Windows下连接控制Hbase的方法及装置
技术领域
本发明涉及数据库领域,尤指一种实现Windows下连接控制Hadoop数据库(Hbase)的方法及装置。
背景技术
随着互联网、互联网、云计算等信息技术在内的通信行业的迅速发展,对数据信息进行有效应用和管理成为企业发展的挑战和机遇,现代社会进入了大数据发展时代。大数据或称巨量资料,是指涉及规模巨大的资料量,目前主流软件工具无法对其进行有效的撷取、管理、处理,使其成为帮助企业进行积极经营决策的资讯。大数据自身的特点,造成了主流的关系型数据库无法满足其信息的存储。Hadoop数据库(Hbase)是一个具有高可靠性、高性能、面向列、可伸缩的分布式开源数据库。基于Hadoop分布式文件系统的HBase,模仿并提供了基于Google文件系统的Bigtable数据库的所有功能。通过Hbase可以实现在普通的PC Server上搭建起大规模结构化存储集群,进而实现对庞大的数据表格的信息处理,达到采用普通的PC处理超过十亿行的、有数百万列元素组成的数据表。
用户数据的激增和数据类型的多样化发展,亟需进行大数据的整合,原有的数据库内容也需要往大数据平台进行数据迁移。HBase分布式数据库是采用采用Java语言开发的数据库,在数据整合和迁移过程中,HBase提供了丰富的Java API;因此,目前的开发大都是采用Java语言调用HBase提供的API实现对HBase的数据库存取。对于计划采用Java语言或者是基于Java语言开发的项目,对于HBase的数据库存取当然不存在问题。但是,在Windows平台下采用C#、C++开发的HBase的数据库项目或者数据库迁移项目,要实现数据可存储其操作难度较大。为了支持Windows下HBase的数据库的开发,HBase还集成了支持C++和C#等语言的Thrift的API访问接口,虽然为Window下的开发提供了一定的便利,但是提供的Thrift的API访问接口,需要采用单一的功能函数对HBase的数据库进行连接或控制,由于采用单一的功能函数执行连接或控制,在进行一些功能函数时,无法确定执行该功能函数的连接条件是否满足,造成HBase连接和控制的不稳定。虽然为了方便实现HBase的开发,减少开发时进行连接和控制的代码量,一些技术公司推出开放数据库互联(ODBC,Open Database Connectivity)以连接HBase的插件,可以实现在Windows下用标准SQL语言来操作HBase,但是采用ODBC连接HBase的插件方法仅支持部分数据库操作,且存在开发的灵活性不足的问题。
综上,在Windows下用于连接和控制HBase的方法采用的单一的功能函数,无法实现HBase连接和控制过程的稳定;部分技术公司推出的采用ODBC连接HBase的插件,使用范围较小,无法实现应用推广。
发明内容
为了解决上述技术问题,本发明提供一种实现Windows下连接控制Hbase的方法及装置,能够对Windows下稳定的连接和控制HBase,且可以进行移植,应用范围广。
为了达到上述发明目的,本发明公开了一种实现Windows下连接控制Hbase的方法,包括:
封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hadoop数据库Hbase元数据的函数;还包括:
当用户访问Hbase时,建立HBase服务器Server与Hbase的连接;
HBase Server将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。
进一步地,封装的功能函数及获取Hadoop数据库Hbase元数据的函数中还添加有接口检查函数;
将执行请求和执行封装的功能函数发往Hbase之前,该方法还包括:利用接口检查函数对所述Thrift的API访问接口与Hbase的连接进行检查;
当检查出所述Thrift的API访问接口与Hbase未连接时,进行一次连接后,再执行所述将所述执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤;
否则,直接执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤。
进一步地,封装的功能函数及获取Hbase元数据的函数中还添加有格式转换的函数;
Hbase在执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,格式转换的函数对返回结果进行格式转换后进行反馈。
进一步地,功能函数及获取Hbase元数据的函数通过C#语言编写。
进一步地,封装的方法包括:数据定义语言DDL和数据操作语言DML的封装方法。
另一方面,本申请还提供一种实现Windows下连接控制Hbase的装置,包括:封装单元、连接单元和执行反馈单元;其中,
封装单元,用于封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hadoop数据库Hbase元数据的函数;
连接单元,用于当用户访问Hbase时,建立HBase服务器Server与Hbase的连接;
执行单元,用于通过HBase Server将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。
进一步地,该装置还包括接口检查单元,用于封装的功能函数及获取Hadoop数据库Hbase元数据的函数中还添加有接口检查函数,在所述将执行请求和执行封装的功能函数发往Hbase之前,利用接口检查函数对所述Thrift的API访问接口与Hbase的连接进行检查;
当检查出所述Thrift的API访问接口与Hbase未连接时,进行一次连接后,再执行所述将所述执行请求和执行封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤;
否则,直接执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤。
进一步地,该装置还包括格式转换单元,用于在封装的功能函数及获取Hbase元数据的函数中添加格式转换的函数;
当Hbase在执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,格式转换的函数对返回结果进行格式转换后进行反馈。
进一步地,功能函数通过C#语言编写。
进一步地,封装单元,具体用于通过数据定义语言DDL和数据操作语言DML的封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hbase元数据的函数。
本发明技术方案包括:封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hbase元数据的函数;还包括:当用户访问Hadoop数据库(Hbase)时,建立HBase服务器(Server)与Hbase的连接;HBase Server将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。本发明通过将连接和控制HBase的功能函数进行有效封装,使Windows下连接和控制HBase得到稳定,采用C#封装的功能函数可以进行移植,适用范围广。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实现Windows下连接控制Hbase的方法的流程图;
图2为本发明实现Windows下连接控制Hbase的装置的结构框图。
具体实施方式
图1为本发明实现Windows下连接控制Hbase的方法的流程图,如图1所示,包括:
步骤100、封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hadoop数据库(Hbase)元数据的函数。
需要说明的是,Thrift最初由Facebook开发,07年四月开放源码,08年5月进入Apache孵化器。Thrift允许定义一个简单的定义文件中的数据类型和服务接口,以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。
步骤101、当用户访问Hbase时,建立HBase服务器(Server)与Hbase的连接。
步骤102、HBase Server将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。这里,将执行请求和执行的功能函数发往Hbase后,可以根据功能函数,从Hbase中获得信息反馈。
封装的功能函数中还添加有接口检查函数;
将执行请求和执行的封装的功能函数发往Hbase之前,本发明方法还包括:利用接口检查函数对所述Thrift的API访问接口与Hbase的连接进行检查;
当检查出所述Thrift的API访问接口与Hbase未连接时,进行一次连接后,再执行所述将所述执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤;
否则,直接执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤。
进一步地,封装的功能函数及获取Hbase元数据的函数中还添加有格式转换的函数;
Hbase在执行将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,格式转换的函数对返回结果进行格式转换后进行反馈。
需要说明的是,在Hbase在执行将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,其返回的结构在格式及字段类型与在客户端上显示给用户的显示类型往往不同,因此需要进行执行结果格式和显示字段的调整,使用户能够对返回结构进行清楚的识别,关于格式转换函数,是本领域技术人员根据格式要求不需要创造性劳动就可实现的技术内容,在此不再赘述。
进一步地,功能函数通过C#语言编写。
封装的方法包括:数据定义语言(Data Definition Language,简称DDL)和数据操作语言(Data Manipulation Language,简称DML)。
这里,C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。
图2为本发明实现Windows下连接控制Hbase的装置的结构框图,如图2所示,包括:封装单元、连接单元和执行反馈单元;其中,
封装单元,用于封装所有Thrift的应用程序编程接口(API)的访问接口的功能函数及获取Hadoop数据库(Hbase)元数据的函数。
封装单元,具体用于通过数据定义语言(DDL)和数据操作语言(DML)的封装所有Thrift的应用程序编程接口(API)的访问接口的功能函数及获取Hbase元数据的函数。
进一步地,功能函数通过C#语言编写,以实现封装。
连接单元,用于当用户访问Hbase时,建立HBase服务器(Server)与Hbase的连接;
执行单元,用于通过HBase Server将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。
本发明装置还包括接口检查单元,用于封装的功能函数及获取Hadoop数据库Hbase元数据的函数中还添加有接口检查函数,在将执行请求和执行封装的功能函数发往Hbase之前,利用接口检查函数对所述Thrift的API访问接口与Hbase的连接进行检查;
当检查出Thrift的API访问接口与Hbase未连接时,进行一次连接后,再执行将执行请求和执行封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤;
否则,直接执行将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤。
进一步地,本发明装置还包括数据格式转换单元,用于在封装的功能函数及获取Hbase元数据的函数中添加格式转换的函数;
当Hbase在执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,格式转换的函数对返回结果进行格式转换后进行反馈。
以下结合具体实施例对本发明方法进行清楚的陈述本发明,实施例并不用于显示本发明保护范围。
实施例1
本发明实施例实现Windows下连接控制Hbase包括:
首先用户在用C#编写的客户端输入Hbase服务器IP和端口;
然后、当用户通过客户端访问Hbase时,建立HBase Server与Hbase的连接;
最后、将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase,以获得Hbase的信息反馈。
更为详细的,Windows下连接控制Hbase包含以下步骤:
a、在客户端输入Hbase的数据库操作的参数;
b、进行Thrift的API访问接口与Hbase的连接检查,当连接的参数isConnection为true时,调用Thrift进行远程的Hbase操作,将返回结果进行预处理然后将结果显示到客户端,直接执行请求和执行的功能函数发往Hbase,以获得Hbase的信息反馈;当isConnection为false则进行一次连接后,将执行请求和执行的功能函数发往Hbase,以获得Hbase的信息反馈;
c、对Hbase的信息反馈,根据技术人员的设计要求,进行格式转换,以显示给用户所需格式和类型的结果。
这里,当用户选择断开Hbase时,客户端调用Thrift接口断开与Hbase数据库的连接,将isConnection设置为false,系统退出。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种实现Windows下连接控制Hbase的方法,其特征在于,封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hadoop数据库Hbase元数据的函数;还包括:
当用户访问Hbase时,建立HBase服务器Server与Hbase的连接;
HBase Server将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。
2.根据权利要求1所述的方法,其特征在于,所述封装的功能函数及获取Hadoop数据库Hbase元数据的函数中还添加有接口检查函数;
所述将执行请求和执行封装的功能函数发往Hbase之前,该方法还包括:利用接口检查函数对所述Thrift的API访问接口与Hbase的连接进行检查;
当检查出所述Thrift的API访问接口与Hbase未连接时,进行一次连接后,再执行所述将所述执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤;
否则,直接执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤。
3.根据权利要求1所述的方法,其特征在于,所述封装的功能函数及获取Hbase元数据的函数中还添加有格式转换的函数;
Hbase在执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,格式转换的函数对返回结果进行格式转换后进行反馈。
4.根据权利要求1所述的方法,其特征在于,所述功能函数及获取Hbase元数据的函数通过C#语言编写。
5.根据权利要求1所述的方法,其特征在于,所述封装的方法包括:数据定义语言DDL和数据操作语言DML的封装方法。
6.一种实现Windows下连接控制Hbase的装置,其特征在于,包括:封装单元、连接单元和执行反馈单元;其中,
封装单元,用于封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hadoop数据库Hbase元数据的函数;
连接单元,用于当用户访问Hbase时,建立HBase服务器Server与Hbase的连接;
执行单元,用于通过HBase Server将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。
7.根据权利要求6所述的装置,其特征在于,该装置还包括接口检查单元,用于封装的功能函数及获取Hadoop数据库Hbase元数据的函数中还添加有接口检查函数,在所述将执行请求和执行封装的功能函数发往Hbase之前,利用接口检查函数对所述Thrift的API访问接口与Hbase的连接进行检查;
当检查出所述Thrift的API访问接口与Hbase未连接时,进行一次连接后,再执行所述将所述执行请求和执行封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤;
否则,直接执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤。
8.根据权利要求6所述的装置,其特征在于,该装置还包括格式转换单元,用于在封装的功能函数及获取Hbase元数据的函数中添加格式转换的函数;
当Hbase在执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,格式转换的函数对返回结果进行格式转换后进行反馈。
9.根据权利要求6所述的装置,其特征在于,所述功能函数通过C#语言编写。
10.根据权利要求6所述的方法,其特征在于,封装单元,具体用于通过数据定义语言DDL和数据操作语言DML的封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hbase元数据的函数。
CN201410279863.7A 2014-06-20 2014-06-20 一种实现Windows下连接控制Hbase的方法及装置 Pending CN104036006A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410279863.7A CN104036006A (zh) 2014-06-20 2014-06-20 一种实现Windows下连接控制Hbase的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410279863.7A CN104036006A (zh) 2014-06-20 2014-06-20 一种实现Windows下连接控制Hbase的方法及装置

Publications (1)

Publication Number Publication Date
CN104036006A true CN104036006A (zh) 2014-09-10

Family

ID=51466776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410279863.7A Pending CN104036006A (zh) 2014-06-20 2014-06-20 一种实现Windows下连接控制Hbase的方法及装置

Country Status (1)

Country Link
CN (1) CN104036006A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104376102A (zh) * 2014-11-26 2015-02-25 浪潮电子信息产业股份有限公司 一种基于python的hbase jdbc连接方法
CN104794567A (zh) * 2015-04-10 2015-07-22 华东师范大学 一种基于HBase的传染病数据管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130282668A1 (en) * 2012-04-20 2013-10-24 Cloudera, Inc. Automatic repair of corrupt hbases
CN103631907A (zh) * 2013-11-26 2014-03-12 中国科学院信息工程研究所 一种将关系型数据迁移至HBase的方法及系统
CN103678650A (zh) * 2013-12-23 2014-03-26 蓝盾信息安全技术股份有限公司 一种基于thrift服务的HBase安全插件

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130282668A1 (en) * 2012-04-20 2013-10-24 Cloudera, Inc. Automatic repair of corrupt hbases
CN103631907A (zh) * 2013-11-26 2014-03-12 中国科学院信息工程研究所 一种将关系型数据迁移至HBase的方法及系统
CN103678650A (zh) * 2013-12-23 2014-03-26 蓝盾信息安全技术股份有限公司 一种基于thrift服务的HBase安全插件

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
简单之美: "基于C#+Thrift操作HBase实践", 《HTTP://WWW.TUICOOL.COM/ARTICLES/MN6FEY》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104376102A (zh) * 2014-11-26 2015-02-25 浪潮电子信息产业股份有限公司 一种基于python的hbase jdbc连接方法
CN104794567A (zh) * 2015-04-10 2015-07-22 华东师范大学 一种基于HBase的传染病数据管理方法
CN104794567B (zh) * 2015-04-10 2018-02-23 华东师范大学 一种基于HBase的传染病数据管理方法

Similar Documents

Publication Publication Date Title
US10346143B2 (en) Systems and methods for transforming service definitions in a multi-service containerized application
US10628134B2 (en) Generic-flat structure rest API editor
US9661064B2 (en) Systems and methods for deploying legacy software in the cloud
US10776083B2 (en) Application builder with connected components
KR20230070067A (ko) 여러 애플리케이션들을 디스플레이하기 위한 시스템 및 방법
CN102209111A (zh) 云计算移动网络终端设备开放性跨平台系统
CN113010827B (zh) 页面渲染方法、装置、电子设备以及存储介质
CN110689268B (zh) 一种提取指标的方法和装置
US20190250962A1 (en) Method for updating instance-based message maps using metadata
CN113050940A (zh) 小程序的预览方法、相关装置及计算机程序产品
CN110764770A (zh) 一种对象间转换与赋值的方法和装置
CN104036006A (zh) 一种实现Windows下连接控制Hbase的方法及装置
CN113448570A (zh) 数据处理方法、装置、电子设备及存储介质
CN110807162A (zh) 加载占位图的方法和装置
CN113760733A (zh) 一种单元测试方法和装置
CN115048060B (zh) 一种存储管理方法、装置、电子设备及存储介质
US20120117258A1 (en) Techniques to deploy and undeploy content to and from web servers
CN110855562A (zh) 一种物联网数据分发管理方法及系统、存储介质及管理终端
CN113779122B (zh) 导出数据的方法和装置
AU2018390863A1 (en) Computer system and method for extracting dynamic content from websites
CN113760487B (zh) 一种业务处理方法和装置
US20180074799A1 (en) Integration for next-generation applications
US10114864B1 (en) List element query support and processing
CN114925120A (zh) 保险业务信息查询方法及相关设备
CN109213815B (zh) 控制执行次数的方法、装置、服务器终端以及可读介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140910