CN104376102A - 一种基于python的hbase jdbc连接方法 - Google Patents
一种基于python的hbase jdbc连接方法 Download PDFInfo
- Publication number
- CN104376102A CN104376102A CN201410686546.7A CN201410686546A CN104376102A CN 104376102 A CN104376102 A CN 104376102A CN 201410686546 A CN201410686546 A CN 201410686546A CN 104376102 A CN104376102 A CN 104376102A
- Authority
- CN
- China
- Prior art keywords
- hbase
- database
- isconnection
- value
- python
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000004891 communication Methods 0.000 claims abstract description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 description 3
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 2
- 230000008140 language development Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000007799 cork Substances 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于python的hbase jdbc连接方法,属于IT通信业技术领域,本发明本发明采用python语言实现,通过对HBase的jdbc接口进行封装在客户端远程控制HBase数据库,实现DDL、DML和查询HBase元数据等数据库操作,将方法的代码封装成python模块可以供其它语言连接HBase的需求,方便了跨平台的HBase数据库远程调用和开发。
Description
技术领域
本发明涉及IT通信业技术,尤其涉及一种基于python的hbase jdbc连接方法,HBase是一款应用广泛的Nosql数据库,本发明是解决使用python语言连接HBase问题。
背景技术
近年来,包括互联网、物联网、云计算等信息技术在内的IT通信业迅速发展,数据的快速增长成了许多行业共同面对的严峻挑战和宝贵机遇,因此现代信息社会已经进入了大数据时代。大数据改变的不只是人们的日常生活和工作模式、企业运作和经营模式,甚至还引起科学研究模式的根本性改变。一般意义上,大数据是指无法在一定时间内用常规机器和软硬件工具对其进行感知、获取、管理、处理和服务的数据集合。
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。 就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在hdfs之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop 项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
HBase是一款基于java语言开发的开源Nosql数据库。HBase分布式数据库采用Java语言开发,提供了丰富的Java API,所以目前开发基于HBase的数据库存取系统大都采用Java语言调用HBase提供的API实现,该方法比较适合用Java语言开发的项目,但是对于非java语言开发的项目的连接要求就需要提供各种接口技术予以实现。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块很轻松地联结在一起,众多开源的计算软件包都提供了Python的调用接口。现今HBase对于非java语言的连接支持大部分是以Thrift实现的,但该方法主要是以HBase Api接口的形式实现的无法支持sql语言的访问,元数据的读取也不是很方便。
发明内容
本发明采用python语言实现,通过对HBase的jdbc接口进行封装在客户端远程控制HBase数据库,实现DDL、DML和查询HBase元数据等数据库操作,将方法的代码封装成python模块可以供其它语言连接HBase的需求,方便了跨平台的HBase数据库远程调用和开发。为了保证数据库操作的安全可靠,本发明实现了一种稳定的客户端到数据库服务器的连接机制。本发明在实际项目中得到不错的应用效果,因此本发明具有一定的应用价值和意义。
1)通过开启Hbase数据库服务器端的zookeeper服务实现与Hbase数据库服务器的互联通信;
2)客户端采用python语言编写,可以编译python模块,方便跨平台下的二次开发;
3)python客户端封装了jdbc客户端,可以采用sql语句对Hbase数据库进行DDL、DML和查询HBase元数据等操作。通过对jdbc封装,提出了一种稳定的Hbase数据库连接机制,具体包括:
a)Hbase数据库服务器端开启zookeeper服务,用户输入要连接的服务器IP和zookeeper中的root node;
b)用户请求连接Hbase数据库,python客户端调用jdbc接口与服务器建立连接,如果连接成功,bool型变量isConnection的值设为true,否则设为false,并将结果反馈给用户;
c)用户请求对Hbase数据库进行远程操作,python客户端首先检查isConnection的值是否为true,isConnection的值为true则对用户输入的数据库操作参数进行格式转换,并调用jdbc接口进行数据库操作;isConnection的值为false则重新与Hbase服务器建立连接1次,连接成功则isConnection的值设为true,对输入参数进行格式转换,并调用jdbc接口进行数据库操作;连接失败则isConnection的值设为false,退出Hbase的操作;
d)用户请求断开Hbase数据库的互联,python客户端调用jdbc接口断开连接,并将isConnection的值设置为false。
本发明的有益效果是:
1、能够在跨平台应用中对Hbase数据库进行DDL、DML和获得元数据等操作;
2、该方法操作简单,试用多种版本的Hbase,并可以在该方法基础上开发多种跨平台的HBase数据库系统;
3、提出一种稳定的Hbase数据库连接机制,保证数据库连接的准确性;
4、有效的提高了业务质量。
附图说明
附图1连接HBase操作流程图。
具体实施方式
下面参照附图,以一个具体实例来描述本发明远程控制Hbase数据库的过程和本发明安全稳定的Hbase数据库连接方法。
步骤如下:
1)客户端输入Hbase服务器IP和zookeeper中的root node;
2)客户端调用jdbc接口与Hbase服务器建立连接,连接成功将isConnection参数设置为true,连接失败则系统退出;
3)连接成功之后,用户可以在客户端发起一系列的Hbase操作请求,对Hbase进行远程控制,下面参照附图1对Hbase的远程操作流程进行详细说明:
a)客户端输入数据库操作的参数;
b)判断isConnection是否为true,isConnection为true则跳转到步骤c),isConnection为false则跳转到步骤d);
c)客户端调用jdbc进行远程的Hbase操作,将返回结果进行预处理然后将结果显示到客户端,跳转到步骤f);
d)重复与Hbase建立连接,然后跳转到步骤e);
e)重复判断isConnection是否为true,isConnection为true则跳转到步骤c),isConnection为false则跳转到步骤f);
f)远程控制Hbase数据库操作结束;
g)用户进行其他数据库的操作,客户端重复进行步骤3)的操作;
h)用户选择断开Hbase数据库,客户端调用jdbc接口断开与Hbase数据库连接,将isConnection设置为false,系统退出。
Claims (3)
1.一种基于python的hbase jdbc连接方法,其特征在于,
具体包括:
a)Hbase数据库服务器端开启zookeeper服务,用户输入要连接的服务器IP和zookeeper中的root node;
b)用户请求连接Hbase数据库,python客户端调用jdbc接口与服务器建立连接,如果连接成功,bool型变量isConnection的值设为true,否则设为false,并将结果反馈给用户;
c)用户请求对Hbase数据库进行远程操作,python客户端首先检查isConnection的值是否为true,isConnection的值为true则对用户输入的数据库操作参数进行格式转换,并调用jdbc接口进行数据库操作;isConnection的值为false则重新与Hbase服务器建立连接1次,连接成功则isConnection的值设为true,对输入参数进行格式转换,并调用jdbc接口进行数据库操作;连接失败则isConnection的值设为false,退出Hbase的操作;
d)用户请求断开Hbase数据库的互联,python客户端调用jdbc接口断开连接,并将isConnection的值设置为false。
2.根据权利要求1所述的方法,其特征在于通过Hbase数据库服务器端的zookeepr服务实现与Hbase数据库服务器的互联通信。
3.根据权利要求1所述的方法,其特征在于使用sql语句对Hbase数据库进行DDL、DML和查询HBase元数据操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410686546.7A CN104376102A (zh) | 2014-11-26 | 2014-11-26 | 一种基于python的hbase jdbc连接方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410686546.7A CN104376102A (zh) | 2014-11-26 | 2014-11-26 | 一种基于python的hbase jdbc连接方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104376102A true CN104376102A (zh) | 2015-02-25 |
Family
ID=52555009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410686546.7A Pending CN104376102A (zh) | 2014-11-26 | 2014-11-26 | 一种基于python的hbase jdbc连接方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104376102A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105938487A (zh) * | 2016-04-14 | 2016-09-14 | 北京思特奇信息技术股份有限公司 | 一种基于Hbase连接池的使用方法和装置 |
CN106843875A (zh) * | 2017-01-19 | 2017-06-13 | 杭州数梦工场科技有限公司 | 跨平台移植Python程序的方法和装置 |
CN107038583A (zh) * | 2017-03-31 | 2017-08-11 | 武汉票据交易中心有限公司 | 一种交易系统的权限验证方法及系统 |
CN109861887A (zh) * | 2019-02-27 | 2019-06-07 | 山东浪潮云信息技术有限公司 | 一种基于Zookeeper的OpenTsdb服务指标聚合方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412768A (zh) * | 2013-07-19 | 2013-11-27 | 蓝盾信息安全技术股份有限公司 | 一种基于脚本程序自动化部署Zookeeper集群的方法 |
CN103678650A (zh) * | 2013-12-23 | 2014-03-26 | 蓝盾信息安全技术股份有限公司 | 一种基于thrift服务的HBase安全插件 |
CN104036006A (zh) * | 2014-06-20 | 2014-09-10 | 浪潮(北京)电子信息产业有限公司 | 一种实现Windows下连接控制Hbase的方法及装置 |
-
2014
- 2014-11-26 CN CN201410686546.7A patent/CN104376102A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412768A (zh) * | 2013-07-19 | 2013-11-27 | 蓝盾信息安全技术股份有限公司 | 一种基于脚本程序自动化部署Zookeeper集群的方法 |
CN103678650A (zh) * | 2013-12-23 | 2014-03-26 | 蓝盾信息安全技术股份有限公司 | 一种基于thrift服务的HBase安全插件 |
CN104036006A (zh) * | 2014-06-20 | 2014-09-10 | 浪潮(北京)电子信息产业有限公司 | 一种实现Windows下连接控制Hbase的方法及装置 |
Non-Patent Citations (2)
Title |
---|
C.K.TAN: "A JDBC wrapper—in python", 《DR.DOBB’S JOURNAL》 * |
马延辉 等: "《HBase企业应用开发实战》", 30 September 2014 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105938487A (zh) * | 2016-04-14 | 2016-09-14 | 北京思特奇信息技术股份有限公司 | 一种基于Hbase连接池的使用方法和装置 |
CN106843875A (zh) * | 2017-01-19 | 2017-06-13 | 杭州数梦工场科技有限公司 | 跨平台移植Python程序的方法和装置 |
CN107038583A (zh) * | 2017-03-31 | 2017-08-11 | 武汉票据交易中心有限公司 | 一种交易系统的权限验证方法及系统 |
CN109861887A (zh) * | 2019-02-27 | 2019-06-07 | 山东浪潮云信息技术有限公司 | 一种基于Zookeeper的OpenTsdb服务指标聚合方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10592282B2 (en) | Providing strong ordering in multi-stage streaming processing | |
US11216302B2 (en) | Modifying task dependencies at worker nodes using precompiled libraries | |
US9330141B2 (en) | Federated query engine for federation of data queries across structure and unstructured data | |
US8458203B2 (en) | Optimizing data processing using dynamic schemas | |
CN103744891A (zh) | 一种数据查询方法和系统 | |
CN104123374A (zh) | 分布式数据库中聚合查询的方法及装置 | |
US20140188918A1 (en) | Techniques to perform in-database computational programming | |
CN104376102A (zh) | 一种基于python的hbase jdbc连接方法 | |
US20120173679A1 (en) | Adaptation method, adapter and adapter system for network service communication | |
CN105550268A (zh) | 大数据流程建模分析引擎 | |
US20160021209A1 (en) | Odata offline cache for mobile device | |
CN103870555A (zh) | Spring data JPA实现动态查询的方法 | |
CN104102489A (zh) | 一种第三方数据库app构建系统及构建方法 | |
CN104216961A (zh) | 一种数据处理方法和装置 | |
US10747588B2 (en) | Method for updating instance-based message maps using metadata | |
CN105447172A (zh) | 一种Hadoop平台下的数据处理方法和系统 | |
CN108984547A (zh) | 数据处理的方法和装置 | |
CN115016784B (zh) | 低代码应用复用方法、应用解析系统、设备及存储介质 | |
CN105843955A (zh) | 一种数据迁移系统 | |
CN104572894A (zh) | 在商业智能中利用xml描述业务模型的方法及商业智能系统 | |
Rademacher et al. | Deriving microservice code from underspecified domain models using DevOps-enabled modeling languages and model transformations | |
WO2018165420A1 (en) | Enterprise integration processing for mainframe cobol programs | |
CN113806429A (zh) | 基于大数据流处理框架的画布式日志分析方法 | |
Goyal et al. | An overview of hybrid databases | |
CN103914304A (zh) | 一种基于sap平台的不同结构类型参数转换方法 |
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: 20150225 |