《一种基于PYTHON的HBASEJDBC连接方法.pdf》由会员分享,可在线阅读,更多相关《一种基于PYTHON的HBASEJDBC连接方法.pdf(6页珍藏版)》请在专利查询网上搜索。
1、10申请公布号43申请公布日21申请号201410686546722申请日20141126G06F17/3020060171申请人浪潮电子信息产业股份有限公司地址250101山东省济南市高新区浪潮路1036号72发明人卢军佐曹连超辛国茂亓开元赵仁明房体盈74专利代理机构济南信达专利事务所有限公司37100代理人姜明54发明名称一种基于PYTHON的HBASEJDBC连接方法57摘要本发明提供一种基于PYTHON的HBASEJDBC连接方法,属于IT通信业技术领域,本发明本发明采用PYTHON语言实现,通过对HBASE的JDBC接口进行封装在客户端远程控制HBASE数据库,实现DDL、DML和查。
2、询HBASE元数据等数据库操作,将方法的代码封装成PYTHON模块可以供其它语言连接HBASE的需求,方便了跨平台的HBASE数据库远程调用和开发。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书3页附图1页10申请公布号CN104376102A43申请公布日20150225CN104376102A1/1页21一种基于PYTHON的HBASEJDBC连接方法,其特征在于,具体包括A)HBASE数据库服务器端开启ZOOKEEPER服务,用户输入要连接的服务器IP和ZOOKEEPER中的ROOTNODE;B)用户请求连接HBASE数据库,PYTHON客户端调用JD。
3、BC接口与服务器建立连接,如果连接成功,BOOL型变量ISCONNECTION的值设为TRUE,否则设为FALSE,并将结果反馈给用户;C)用户请求对HBASE数据库进行远程操作,PYTHON客户端首先检查ISCONNECTION的值是否为TRUE,ISCONNECTION的值为TRUE则对用户输入的数据库操作参数进行格式转换,并调用JDBC接口进行数据库操作;ISCONNECTION的值为FALSE则重新与HBASE服务器建立连接1次,连接成功则ISCONNECTION的值设为TRUE,对输入参数进行格式转换,并调用JDBC接口进行数据库操作;连接失败则ISCONNECTION的值设为FAL。
4、SE,退出HBASE的操作;D)用户请求断开HBASE数据库的互联,PYTHON客户端调用JDBC接口断开连接,并将ISCONNECTION的值设置为FALSE。2根据权利要求1所述的方法,其特征在于通过HBASE数据库服务器端的ZOOKEEPR服务实现与HBASE数据库服务器的互联通信。3根据权利要求1所述的方法,其特征在于使用SQL语句对HBASE数据库进行DDL、DML和查询HBASE元数据操作。权利要求书CN104376102A1/3页3一种基于PYTHON的HBASEJDBC连接方法技术领域0001本发明涉及IT通信业技术,尤其涉及一种基于PYTHON的HBASEJDBC连接方法,H。
5、BASE是一款应用广泛的NOSQL数据库,本发明是解决使用PYTHON语言连接HBASE问题。背景技术0002近年来,包括互联网、物联网、云计算等信息技术在内的IT通信业迅速发展,数据的快速增长成了许多行业共同面对的严峻挑战和宝贵机遇,因此现代信息社会已经进入了大数据时代。大数据改变的不只是人们的日常生活和工作模式、企业运作和经营模式,甚至还引起科学研究模式的根本性改变。一般意义上,大数据是指无法在一定时间内用常规机器和软硬件工具对其进行感知、获取、管理、处理和服务的数据集合。0003HBASE是一个分布式的、面向列的开源数据库,该技术来源于FAYCHANG所撰写的GOOGLE论文“BIGTA。
6、BLE一个结构化数据的分布式存储系统”。就像BIGTABLE利用了GOOGLE文件系统(FILESYSTEM)所提供的分布式数据存储一样,HBASE在HDFS之上提供了类似于BIGTABLE的能力。HBASE是APACHE的HADOOP项目的子项目。HBASE不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBASE基于列的而不是基于行的模式。0004HBASE是一款基于JAVA语言开发的开源NOSQL数据库。HBASE分布式数据库采用JAVA语言开发,提供了丰富的JAVAAPI,所以目前开发基于HBASE的数据库存取系统大都采用JAVA语言调用HBASE提供的A。
7、PI实现,该方法比较适合用JAVA语言开发的项目,但是对于非JAVA语言开发的项目的连接要求就需要提供各种接口技术予以实现。PYTHON语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块很轻松地联结在一起,众多开源的计算软件包都提供了PYTHON的调用接口。现今HBASE对于非JAVA语言的连接支持大部分是以THRIFT实现的,但该方法主要是以HBASEAPI接口的形式实现的无法支持SQL语言的访问,元数据的读取也不是很方便。发明内容0005本发明采用PYTHON语言实现,通过对HBASE的JDBC接口进行封装在客户端远程控制HBASE数据库,实现DD。
8、L、DML和查询HBASE元数据等数据库操作,将方法的代码封装成PYTHON模块可以供其它语言连接HBASE的需求,方便了跨平台的HBASE数据库远程调用和开发。为了保证数据库操作的安全可靠,本发明实现了一种稳定的客户端到数据库服务器的连接机制。本发明在实际项目中得到不错的应用效果,因此本发明具有一定的应用价值和意义。00061)通过开启HBASE数据库服务器端的ZOOKEEPER服务实现与HBASE数据库服务器的互联通信;2)客户端采用PYTHON语言编写,可以编译PYTHON模块,方便跨平台下的二次开发;3)PYTHON客户端封装了JDBC客户端,可以采用SQL语句对HBASE数据库进行D。
9、DL、DML说明书CN104376102A2/3页4和查询HBASE元数据等操作。通过对JDBC封装,提出了一种稳定的HBASE数据库连接机制,具体包括A)HBASE数据库服务器端开启ZOOKEEPER服务,用户输入要连接的服务器IP和ZOOKEEPER中的ROOTNODE;B)用户请求连接HBASE数据库,PYTHON客户端调用JDBC接口与服务器建立连接,如果连接成功,BOOL型变量ISCONNECTION的值设为TRUE,否则设为FALSE,并将结果反馈给用户;C)用户请求对HBASE数据库进行远程操作,PYTHON客户端首先检查ISCONNECTION的值是否为TRUE,ISCONNE。
10、CTION的值为TRUE则对用户输入的数据库操作参数进行格式转换,并调用JDBC接口进行数据库操作;ISCONNECTION的值为FALSE则重新与HBASE服务器建立连接1次,连接成功则ISCONNECTION的值设为TRUE,对输入参数进行格式转换,并调用JDBC接口进行数据库操作;连接失败则ISCONNECTION的值设为FALSE,退出HBASE的操作;D)用户请求断开HBASE数据库的互联,PYTHON客户端调用JDBC接口断开连接,并将ISCONNECTION的值设置为FALSE。0007本发明的有益效果是1、能够在跨平台应用中对HBASE数据库进行DDL、DML和获得元数据等操作。
11、;2、该方法操作简单,试用多种版本的HBASE,并可以在该方法基础上开发多种跨平台的HBASE数据库系统;3、提出一种稳定的HBASE数据库连接机制,保证数据库连接的准确性;4、有效的提高了业务质量。附图说明0008附图1连接HBASE操作流程图。具体实施方式0009下面参照附图,以一个具体实例来描述本发明远程控制HBASE数据库的过程和本发明安全稳定的HBASE数据库连接方法。0010步骤如下1)客户端输入HBASE服务器IP和ZOOKEEPER中的ROOTNODE;2)客户端调用JDBC接口与HBASE服务器建立连接,连接成功将ISCONNECTION参数设置为TRUE,连接失败则系统退出。
12、;3)连接成功之后,用户可以在客户端发起一系列的HBASE操作请求,对HBASE进行远程控制,下面参照附图1对HBASE的远程操作流程进行详细说明A)客户端输入数据库操作的参数;B)判断ISCONNECTION是否为TRUE,ISCONNECTION为TRUE则跳转到步骤C),ISCONNECTION为FALSE则跳转到步骤D);C)客户端调用JDBC进行远程的HBASE操作,将返回结果进行预处理然后将结果显示到客户端,跳转到步骤F);D)重复与HBASE建立连接,然后跳转到步骤E);说明书CN104376102A3/3页5E)重复判断ISCONNECTION是否为TRUE,ISCONNECTION为TRUE则跳转到步骤C),ISCONNECTION为FALSE则跳转到步骤F);F)远程控制HBASE数据库操作结束;G)用户进行其他数据库的操作,客户端重复进行步骤3)的操作;H)用户选择断开HBASE数据库,客户端调用JDBC接口断开与HBASE数据库连接,将ISCONNECTION设置为FALSE,系统退出。说明书CN104376102A1/1页6图1说明书附图CN104376102A。