大数据自学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数据库,提供高性能的随机读写结构化数据的能力.它可以直接使用本地文件系统,也可以 ...
随机推荐
- Math.max.apply(null,arr)求最大值
1.首先了解一下call和apply call 和 apply 的第一个参数是null/undefined时函数内的this指向window 或global call/apply 用来改变函数的执行上 ...
- K-means &K-medoids 聚类
k-平均值算法对孤立点很敏感!因为具有特别大的值的对象可能显著地影响数据的分布. k-中心点(k-Medoids): 不采用簇中对象的平均值作为参照点, 而是选用簇中位置最中心的对象, 即中心点(me ...
- 日志文件系统syslog,syslog-ng
日志文件系统syslog,syslog-ng 余二五 2017-11-07 20:37:00 浏览127 评论0 日志 LOG 配置 主机 正则表达式 syslog 表达式 source file ...
- Wix制作安装包
Wix制作安装包,找起资料来很费劲,记录一下: Product.wxs,该文件只能制作出msi形式的安装包,不能做到自动检测framework. <?xml version="1.0& ...
- [LeetCode] 系统刷题6_Linked List
1. Dummy Node 2. Basic skills [LeetCode] 206. Reverse Linked List_Easy tag: Linked List 2. Fast slow ...
- iText C# 合并PDF文件流,以及A5变A4时内容默认放在最底下的问题的解决方法;ASP.NET 实现Base64文件流下载PDF
/// <summary> 合併PDF檔(集合) </summary> /// <param name="files">欲合併PDF檔之集合(一 ...
- react native中使用native-echarts
第一步,下载依赖 npm install native-echarts --save 第二步,引入 import Echarts from 'native-echarts'; 第三步,使用 expor ...
- java RE Validation常用
import java.util.regex.Matcher; import java.ulil.regex.Pattern; public class RegExpUtil { public sta ...
- ACM-彩票
题目描述 OMeGa 兄弟最近赢了巨奖!但当他们在分彩票奖金的时候却遇到了一些问题.他们两兄弟对一切偶数都痴迷不已,以至于在分奖金的时候,他们两个都希望自己分到的钱是偶数(即便两人分的钱不一样也没关系 ...
- jQuery-导航下拉菜单-实用简单
/*CSS代碼*/ /*導航*/ .nav{background: url("../img/menu_bar.gif") repeat-x;} .nav ul li{display ...