python通过jdbc连接hive_Python使用JDBC连接Hive
场景描述:业务需要,客户要求。
上网搜了半天,只有连oracle或者mysql的,只能是借鉴一下看看能不能用了。
大多数文章上说要用JayDeBeApi 包
直接用
直接进cmd pip install JayDeBeApi
报错了,
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
解决办法
1. 安装 Microsoft visual c++ 14.0
安装完成之后再
pip install JayDeBeApi
样例代码如下:
根据网上其他人写的一些进行修改,主要是 jarFile ,链接oracle 只需要引入ojdbc的jar包就行了,hive这里需要使用列表,把所有相关的jar都放到jarFile中。
#Mike Sun
importjaydebeapi
url= 'jdbc:hive2:/127.0.0.1:10000/default'user= 'hive'password= 'hive'dirver= 'org.apache.hive.jdbc.HiveDriver'jarFile=['D:\\Maven\\org\\apache\\hive\\hive-jdbc\\1.2.1\\hive-jdbc-1.2.1.jar','D:\\Maven\\org\\apache\\hive\\hive-exec\\1.2.1\\hive-exec-1.2.1.jar','D:\\Maven\\org\\apache\\hive\\hive-metastore\\1.2.1\\hive-metastore-1.2.1.jar','D:\\Maven\\org\\apache\\hive\\hive-service\\1.2.1\\hive-service-1.2.1.jar','D:\\Maven\\org\\apache\\hadoop\\hadoop-common\\2.7.4\\hadoop-common-2.7.4.jar','D:\\Maven\\org\\apache\\thrift\\libfb303\\0.9.2\\libfb303-0.9.2.jar','D:\\Maven\\commons-logging\\commons-logging\\1.2\\commons-logging-1.2.jar','D:\\Maven\\org\\slf4j\\slf4j-api\\1.7.25\\slf4j-api-1.7.25.jar','D:\\Maven\\org\\apache\\httpcomponents\\httpclient\\4.5.5\\httpclient-4.5.5.jar','D:\\Maven\\org\\apache\\httpcomponents\\httpcore\\4.4.9\\httpcore-4.4.9.jar','D:\\Maven\\org\\slf4j\\slf4j-simple\\1.7.25\\slf4j-simple-1.7.25.jar']
sqlStr= 'select * from test_table'conn=jaydebeapi.connect(dirver, url, [user, password], jarFile)
curs=conn.cursor()
curs.execute(sqlStr)
result=curs.fetchall()print(result)
curs.close()
conn.close()
参考文章
https://blog.csdn.net/cakecc2008/article/details/79073181
https://blog.csdn.net/weixin_42057852/article/details/80857948
python通过jdbc连接hive_Python使用JDBC连接Hive相关推荐
- JDBC高级特性3--JNDI,连接池,分布式事务
2019独角兽企业重金招聘Python工程师标准>>> System.out.print(rs.getInt(1)+"\t"); System.out.print ...
- 【JDBC】实现对JDBC 连接的简单封装
package util;import java.sql.Connection; import java.sql.DriverManager;/**** 实现对JDBC 的封装* @author mq ...
- 14-数据库连接池和jdbc优化
一.数据库连接池 1. 什么是连接池 传统的开发模式下,Servlet处理用户的请求,找Dao查询数据,dao会创建与数据库之间的连接,完成数据查询后会关闭数据库的链接. 这样的方式会导致用户每次请求 ...
- jdbc连接gp单例模式_JDBC连接备忘单
jdbc连接gp单例模式 抽象 这是常见数据库的JDBC连接的快速参考. 我似乎必须大量查找此信息,因此我认为最好将所有参考资料放在一个地方. 德比 <dependency><gro ...
- JDBC笔记02-数据库连接池 Spring JDBC
今日内容 数据库连接池 Spring JDBC : JDBC Template 数据库连接池 概念: 其实就是一个容器(集合),存放数据库连接的容器 当系统初始化好后,容器被创建,容器中会申请一些连接 ...
- 连接驱动_在jdbc中完成对于jdbc参数、jdbc变量,加载驱动,创建连接的封装
JDBC简介 JDBC中文含义:Java数据库连接,英文全称:Java Database Connectivity. 它是Java语言中用来规范访问数据库的接口,提供了放多接口方法,例如查询 .更新. ...
- java能写驱动吗_使用纯java jdbc驱动程序实现数据库的连接
1.准备工作: 准备相关的软件(Eclipse除外,开源软件可以从官网下载) <1>.Microsoft SQL server 2005 Express Edition <2> ...
- JDBC秒变C3P0连接池——再加连接解耦
从JDBC连接到C3P0数据库连接池 在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Class.forName("数据库驱动类");) ...
- jdbc 连接池 java_JDBC自定义连接池过程详解
这篇文章主要介绍了JDBC自定义连接池过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 开发中,"获得连接"和" ...
- 关于连接池、JDBC、DBUtils的一些知识
对于连接池.JDBC.DBUtils的一些知识点归纳
最新文章
- AlphaGo之父DeepMind再出神作,PrediNet原理详解
- ASP.NET配置文件Web.config
- linux mysql 更改MySQL数据库目录位置
- O(N)的时间复杂度找出a[N]中那个重复的数字
- SqlDependency 与 SignalR 实现Web页面的数据实时刷新
- Symbian,倒在3G的门槛上
- STL_vector
- MyBatisPlus中删除方法deletetById、deleteBatchIds、deleteByMap的使用
- EC笔记:第二部分:11:在operator=中处理“自我赋值”
- 设计模式——装饰者(Decorator)模式DEMO——游戏角色的装饰者模式实现
- 菜鸟技术专家胡斌:技术架构的战略和战术原则
- @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) 注解的作用
- 加密货币交易所Gemini已支持新加坡元(SGD)
- php用高德地图api坐标返回市_php 使用高德地图(一) 画多边形及编辑 获取坐标 (简单总结)...
- Mysql-什么是聚集索引和非聚集索引?
- html5霓虹效果代码,HTML5 canvas蜂巢式彩色霓虹背景效果
- 当年,学姐把这份Java总结给我,让我在22k的校招王者局乱杀
- 赴日研修的发展怎么样
- 计算机网络之『路由器的配置』
- win10聚焦功能失效的解决方法
热门文章
- Android 模拟器中sd卡的创建 和文件的上传
- ORA29902执行ODCIIndexStart()例行程序中出错 SQL空间查询ST_Geometry配置
- 启动SQL Server 时自动执行存储过程
- ListView原理分析之重要方法介绍
- CF1399E2 Weights Division (hard version)
- Ajax学习笔记-Ajax的封装-8
- alias 为命令定义别名、unalias删除别名
- mysql备份工具命令xtra_mysql xtrabackup备份工具使用
- linux ns级定时器_linux 用户空间获得纳秒级时间ns
- triz矛盾矩阵_怎样利用项目TRIZ矛盾定义法,突破产品“创