Python3.6.1版本连接hive数据库

来源:互联网 发布:开票软件下载程序 编辑:程序博客网 时间:2024/06/08 00:17

1.      Cmd运行Python,了解是Python版本(有利于解决接来下面埋的坑哦)


2.      首先需先安装jaydebeapi库,直接在cmd用运行:pip install jaydebeapi

如果报错:


这个是最后的错误,如果在往前看,会发现


所以问题还是出现在依赖库中,那么接来下让我装逼一下。

3.  安装JPype1库,必须本版要和Python的版本一致(这就是前面说到的坑哦!)我安装的Python版本为3.31版本且是64位的,所以需要寻找JPype也要是3.6版本。由于直接在cmd命令运行pip install JPype1会报错,该错误同上(原因是官网没有明确指定版本,这样兼容性出了问题)。为了解决该问题,只好下载JPype1对应的whl文件,本地安装。

说一下我在这里被坑的问题:

首先我用pip install JPype1 命令安装,于是到官网下载包下来本地安装,如下:


然后到本地路径去安装,如:cd 到该文件夹下,Python setup.py install运行,还是报错,错误同上,但是官网有没有对应的whl文件,所以只好尝试各种办法,经历千辛万苦,终于在非官网上找到对应的JPype1的whl文件。所以大家以后想找各种whl对应的库,可以在该网址下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/


下载完只要不到五秒钟,接下来使用安装:pip install JPype1的whl文件的路劲+whl文件名:例如 :pip install D:\TOOL\JPype1-0.6.2-cp36-cp36m-win_amd64.whl,大家一定要注意,一定要对应的版本才行,我试过用JPype1 3.5版本,就会报错,错误也都是装JPype失败,VC ++14.0的错误。

安装完毕,接下来安装jaydebeapi库就没啥问题,如果还是遇到问题,大家可以到官网下载对应的包:


两个都可以,不过这里我使用的是1.1.1那个,加压后,cmd到该路径下,运行Python setup.py install。如果还是以上的错误,那么可能是

VC++ 版本不对应,由于我电脑是64位系统,Python也是64位,所以在下载的包也都是64位系统的,如果不是,出现不兼容,导致错误出现。

这里可以下提供VC ++ 14.0 64位系统安装包

处理完这些,加下来我们测试连接是否成功:

代码# -*- coding:UTF-8 -*-


import jaydebeapi
conn=jaydebeapi.connect("org.apache.hive.jdbc.HiveDriver",
"主机:端口/数据库名",
["用户名","密码"],
"D:\\HiveLib\\HiveUDF.jar",) #这个指的是这个包存放在你电脑的位置
mycursor=conn.cursor()
mycursor.execute("select * from rcas.v_cu_risk_credit_summary t limit 10")
myresult =mycursor.fetchall() #return a list
print(myresult[5][14])