大数据自学5-Python操作Hbase
在Hue环境中本身是可以直接操作Hbase数据库的,但是公司的环境不知道什么原因一直提示"Api Error:timed out",进度条一直在跑,却显示不出表。
但是在CDH后台管理里,Hbase相关服务都是显示正常运行的,因此就绕过Hue查看Hbase,直接使用Python写代码连Hbase数据库
主要参考的链接
本地环境是Windows 7 + Anaconda3 Spyder 3.3.1 (Phthon 3.7)
一开始参照链接1中的代码敲,运行报错,提示cannot import name 'Hbase' from 'hbase',

抱歉是初学Python,知道是要引用Hbase,但是找不到引用文件,百度了下,发现可以用pip install命令安装Python包,在Anaconda Prompt下执行
pip install 命令分别安装Thrift和Hbase包,(截图时,因为之前已经执行安装过,所以会提示"already satisfied")

从上面的提示信息也可以看到,安装的包存放的位置是:C:\ProgramData\Anaconda3\Lib\site-packages
如果你在Spyder控制台下执行pip install命令,她会很人性的提示你要在Terminal或Command Prompt下执行

安装包后,重新运行,又报另一个错”cannot import name 'Hbase' from 'hbase'“,在C:\ProgramData\Anaconda3\Lib\site-packages目录下明明有hbase,下面也有Hbase.py文件,为什么会报无法引入的错呢?后来才发现是因我自已创建的这个文件名也是hbase,与要导入的hbase名称完全一样,所以重新命名就可以了。所以自已创建Python文件,在命名时要特别注意,不要与其他的有冲突才行。
重命名后才再运行,还是报错,这次是提示引用的包Hbase.py里的语法错误,

查了下,才知道Python3和Python2在处理异常时的写法是不一样的,参考https://www.imooc.com/article/50566
怎么办?在pip install安装Hbase包时是否可以指定用于Python3的包?还是手工修改Hbase.py文件,按新语法格式全部改掉?
最后是参照链接https://blog.csdn.net/luanpeng825485697/article/details/81048468中的做法,在https://github.com/626626cdllp/infrastructure/tree/master/hbase地址下载适用于Python3版本的Hbase.py文件,替换原来的版本。
再次运行,这次终于没有报错了,我使用createTable命令然后再getTableNames果然能获取我刚创建的表名,说明成功了。

大数据自学5-Python操作Hbase的更多相关文章
- 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建
大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建 大数据应用之Windows平台Hbase客户端Eclipse环境搭建-Java版 作者:张子良 版权所有,转载请注明出处 引子 ...
- 【Hbase三】Java,python操作Hbase
Java,python操作Hbase 操作Hbase python操作Hbase 安装Thrift之前所需准备 安装Thrift 产生针对Python的Hbase的API 启动Thrift服务 执行p ...
- python 操作 hbase
python 是万能的,当然也可以通过api去操作big database 的hbase了,python是通过thrift去访问操作hbase 以下是在centos7 上安装操作,前提是hbase已经 ...
- 大数据,why python
大数据,why python ps, 2015-12-4 20:47:46 python" title="大数据,why python">http://www.op ...
- 大数据自学6-Hue集成环境操作Hbase
上一章讲过,Hue集成环境是可以直接操作Hbase,但是公司的环境一直报错,虽然也可以透过写代码访问Hbase,但是看到Hue环境中无法访问,还是觉得不爽,因此决定再花些力气找找原因. 找原因要先查L ...
- Hbase理论&&hbase shell&&python操作hbase&&python通过mapreduce操作hbase
一.Hbase搭建: 二.理论知识介绍: 1Hbase介绍: Hbase是分布式.面向列的开源数据库(其实准确的说是面向列族).HDFS为Hbase提供可靠的底层数据存储服务,MapReduce为Hb ...
- [转]大数据时代,python竟是最好的语言?
随着大数据疯狂的浪潮,新生代的工具Python得到了前所未有的爆发.简洁.开源是这款工具吸引了众多粉丝的原因.目前Python最热的领域,非数据分析和挖掘莫属了.从以Pandas为代表的数据分析领 ...
- 大数据时代,Python是最好的语言!
随着大数据疯狂的浪潮,新生代的工具Python得到了前所未有的爆发.简洁.开源是这款工具吸引了众多粉丝的原因.目前Python最热的领域,非数据分析和挖掘莫属了.从以Pandas为代表的数据分析领域开 ...
- 大数据学习之路之HBASE
Hadoop之HBASE 一.HBASE简介 HBase是一个开源的.分布式的,多版本的,面向列的,半结构化的NoSql数据库,提供高性能的随机读写结构化数据的能力.它可以直接使用本地文件系统,也可以 ...
随机推荐
- 如何在ASP.NET 网站项目中使用C# 6?
作者:Generic链接:https://www.zhihu.com/question/48864375/answer/113316462来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...
- Laravel中路由怎么写(一)
1.路由基本使用示例 1.1 默认示例 Laravel中所有路由定义在/app/Http/routes.php文件中,该文件默认定义了应用的首页路由: Route::get('/', function ...
- Kotlin enum class 匿名类实例
Kotlin里的枚举类里有新玩意:就是枚举类的常量可以同时看成是一个同名匿名类 既然是类就可以与方法关联 看看官网的代码 如果你有过其它语言的使用枚举的经历,你可能对这个定义和说明很迷惑 我给你一个例 ...
- Selenium基础知识(十)截屏
自动化测试过程中,经常会用截图的方式,更直观的显示展示错误信息:selenium截图的三种方式: driver.get_screenshot_as_file(r'd:\selenium.png') # ...
- [转-SSRF]什么是SSRF
这些天专注了解了SSRF攻击(Server-side Request Forgery,服务器端请求伪造),对这类攻击有了自己的一些总结与看法,老外取这个名字是挺不错的,我很喜欢,这让我想到了CSRF( ...
- Linux MySQL数据库文件同步及数据库备份
Mysql数据库链接 mysql -uroot -p -hdatacenter.jiaofukeyan.com -P33069 1.文件同步 rsync -avz --delete root@(需要同 ...
- node.js中ws模块创建服务端和客户端,网页WebSocket客户端
首先下载websocket模块,命令行输入 npm install ws 1.node.js中ws模块创建服务端 // 加载node上websocket模块 ws; var ws = require( ...
- django 定义文章url
url(r'^firstcontent/'+str(date)+'/(?P<first_body_id>\d+)/$', views.firstcontent, name='firstco ...
- 2-2:python之控制结构
一.程序流程图 1.用规定的一系列图形.流程线和文字说明算法从开始到结束全部步骤,包括基本操作和控制流程.2.流程图的基本元素包括: 1) 表示相应操作的框 2) 带箭头的流程线 3) 框内必要的文 ...
- U盘自动拷贝
描述:启动该程序后,自动检测U盘是否存在,若存在,将U盘中所有的文件拷贝到电脑的指定目录下. 注:本篇博文仅支持技术讨论,不用于数据的盗取之类的黑科技. 本程序基于Win32开发,主要是利用Win32 ...