大数据自学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数据库,提供高性能的随机读写结构化数据的能力.它可以直接使用本地文件系统,也可以 ...
随机推荐
- js篇-json字符串与json对象相互转化
回调返回结果是 json字符串还是json对象一定要看清楚哦,状态不好的时候,感觉眼神也不好使了, var a = "{"name":"jenny", ...
- 导出Excel(导出一个模版)
有时,客户需要一个标准的模板来填东西,然后在导入 这时可以弄好excel模板,供导出 /** * 导出excel模板文件 * @param request * @param response * @r ...
- 实例:使用puppeteer headless方式抓取JS网页
puppeteer google chrome团队出品的puppeteer 是依赖nodejs和chromium的自动化测试库,它的最大优点就是可以处理网页中的动态内容,如JavaScript,能够更 ...
- PHP 判断括号是否闭合
一开始的思路就是判断每种括号的开闭数量是否相等,其实虽然也能实现但是搞得太复杂了: 后来查了查,只需设一个常量,左括号 +1,右括号 -1,闭合的话为0,没闭合的话不为0, 出现<0即为顺 ...
- 【Java】-NO.11.Java.1.Log4j.1.001-【Log4j Manual】-
1.0.0 Summary Tittle:[Java]-NO.11.Java.1.Log4j.1.001-[Log4j2 Manual]- Style:Java Series:Log4j Since: ...
- 使用MySQL的mysqldump命令备份数据库和把数据库备份文件恢复
1,备份数据库 mysql -uroot -p123456 db_name > /root/db_name.dump 2,数据库备份文件恢复 mysql -uroot -p123456 db_n ...
- Http 服务 简单示例
现在我们实现一个GO的Web http服务 只做演示,没有实际功能 但是能看出Go做Http服务的简洁 **************************************** package ...
- 49.CSS--- 特殊css3效果展示
1.设置多行文本超出显示省略号<div class="caption"> <p>显示超过两行就显示省略号,其余隐藏,隐藏不了的情况下给这个模块添加一个高度和 ...
- gitlab 源码安装=》rpm安装横向迁移(version 9.0)
准备: 下载版本地址: https://packages.gitlab.com/gitlab/gitlab-ce 迁移环境: 源码安装的gitlab9.0.13 目标迁移至9.0.13 RPM安装的环 ...
- 在webpack自定义配置antd的按需加载和修改主题色
最近使用antd来做react项目的UI.从antd官网上,在使用create-react-app脚手架搭建项目时步骤如下: (1)添加模块 react-app-rewired, babel-plug ...