一、python与hive1通信
#!/usr/bin/python2.7 #hive --service hiveserver >/dev/null 2>/dev/null& #/usr/lib/hive/lib/py import sys from hive_service import ThriftHive from hive_service.ttypes import HiveServerException from thrift import Thrift from thrift.transport import TSocket from thrift.transport import TTransport from thrift.protocol import TBinaryProtocol def hiveExe(sql): try: transport = TSocket.TSocket('*.*.*.*', 10000) transport = TTransport.TBufferedTransport(transport) protocol = TBinaryProtocol.TBinaryProtocol(transport) client = ThriftHive.Client(protocol) transport.open() client.execute(sql) print "The return value is : " print client.fetchAll() print "............" transport.close() except Thrift.TException, tx: print '%s' % (tx.message) if __name__ == '__main__': hiveExe("select * from project.table")
python和hive1通讯是一件非常容易的事情,因为python所需要的依赖包从/usr/lib/hive/lib/py获取即可,导入到hive的扩张中就可以应用了。
二、python与hive2的通信
#!/usr/bin/python2.7 #hive --service hiveserver2 >/dev/null 2>/dev/null& #install pyhs2,first install cyrus-sasl-devel,gcc,libxml2-devel,libxslt-devel #hiveserver2 is different from hiveserver on authority import pyhs2 conn = pyhs2.connect(host='*.*.*.*',port=10000,authMechanism="PLAIN", user='hive', password='', database='project') cur = conn.cursor() cur.execute("select * from table limit 10") for i in cur.fetch(): print i cur.close() conn.close()
python与hive2通信比较费劲,需要安装的依赖比较多(install pyhs2,first install cyrus-sasl-devel,gcc,libxml2-devel,libxslt-devel)。但是安装完成后编程还是很容易的。
两种通讯有一个共同点,就是必须启动hive服务器。
相关推荐
PyHive是Python社区开发的一个库,它提供了Python接口,使得Python程序可以直接与Hive和Presto进行通信。PyHive-0.6.4是这个项目的其中一个稳定版本,包含对Hive和Presto的最新支持,允许开发者用Python编写HQL...
在Python 3.6环境下,连接到Hive和Impala数据库需要一系列的依赖包,这些依赖包涵盖了数据处理、网络通信、数据库接口等多个方面。在本文中,我们将深入探讨这些必要的依赖及其作用。 首先,Hive是Apache软件基金会...
3. `krb5-devel` - Kerberos开发文件,用于构建与Kerberos交互的应用程序。 4. `python-krbV` - Python绑定,用于Kerberos V5库。 5. 其他如`thrift`, `thrift-sasl`, `impyla`, `hdfs[kerberos]`, `pykerberos`等,...
Hive Metastore Client是为那些需要与Hive Metastore通信的Python应用程序设计的,比如数据分析工具、ETL(提取、转换、加载)流程或者自定义数据处理服务。通过这个客户端,开发人员可以创建、查询、更新和管理Hive...
JDBC(Java Database Connectivity)是Java中用于连接数据库的标准接口,它允许Java应用程序通过标准的API与各种数据库进行交互。本篇我们将深入探讨如何使用JDBC连接到Hive,以及在实际操作中可能遇到的关键知识点...
Hive JDBC是Apache Hive项目的一部分,它提供了一个Java数据库连接(JDBC)接口,使得其他应用程序,如Python、Java或任何支持JDBC的语言,能够与Hive数据仓库进行交互。这个"hive-jdbc015快照版源码"应该是Hive ...
首先,"JDBC连接hive驱动jar包"指的是在Java应用程序中为了实现与Hive通信所需的特定驱动库。这些jar包包含了与Hive服务进行通信所需的类和方法,使得开发者可以编写代码来执行Hive SQL查询并获取结果。 在描述中...
PyHive是一个Python库,它提供了对Hive和Presto的低级接口,使得Python开发者能够方便地与这些大数据处理框架交互。 首先,PyHive的核心功能在于它为Python程序员提供了与Hive和Presto通信的API。它允许我们编写...
总之,Hive JDBC 1.1.0-cdh5.12.1连接库是CDH环境下与Hive交互的重要桥梁,提供了标准的JDBC接口,简化了客户端与Hive服务器之间的通信,使得数据处理更加便捷高效。无论是数据分析、报表生成还是数据集成,Hive ...
`pyhs2`是Apache Hive官方提供的Python客户端,支持通过HiveServer2接口与Hadoop集群中的Hive服务进行通信。它提供了连接、执行SQL查询、获取结果集等功能,适用于需要在Python环境中执行Hive SQL的场景。 ### 2. ...
Hive JDBC Uber 2.6.5.0-292驱动是Apache Hive与Java数据库连接(JDBC)之间的桥梁,允许用户通过编程语言(如Java、Python等)或者数据库管理工具(如Dbeaver)与Hive进行交互。这个驱动程序集成了所有必要的依赖,...
例如,大数据工程师可能会使用Hue这样的Web界面,其底层就可能依赖HiveJDBC与Hive通信。此外,大数据处理框架如Apache Spark,也可以通过JDBC连接Hive,共享存储和查询结果,实现数据的高效流转。 总的来说,Hive...
Hive JDBC是Apache Hive项目的一部分,它允许用户使用任何支持JDBC的应用程序(如Java、Python的JDBC库,或者像Tableau这样的BI工具)与Hive通信。这极大地扩展了Hive的使用范围,使得用户可以方便地在各种编程语言...
在Python中与Hive进行交互时,可能会遇到身份验证问题,这时就需要使用SASL(Simple Authentication and Security Layer)库来处理安全认证。 标题中的“sasl安装whl文件.rar”指示了我们需要安装SASL库的一个特定...
Hive提供了JDBC驱动,使得应用程序可以通过标准的JDBC接口与Hive通信。在CDH中,Hive JDBC驱动通常位于`$HIVE_HOME/lib`目录下,文件名通常是`hive-jdbc-*.jar`。 3. **连接配置** 连接Hive服务器时,需要设置...
`hive_builder`库可能利用了Python的`thrift`库来与Hive通信,因为Hive的Python接口通常基于Thrift协议。此外,它可能还依赖于其他数据处理和管理库,如`pandas`、`sqlalchemy`或`hadoop`相关的库。 为了使用`hive_...
Hive JDBC驱动是连接Hive服务器的关键组件,它实现了JDBC规范,允许任何支持JDBC的应用程序与Hive通信。以下是一些关于Hive JDBC的重要知识点: 1. **安装与配置**:下载解压后的"hive-jdbc-uber-2.6.5.0-292-free....
3. **Thrift 服务器**:提供跨语言支持,如 C++, Java, PHP, Python 和 Ruby,通过 Thrift 协议与 Hive 通信。 4. **解析器、编译器和优化器**:解析器将 HQL 转换为抽象语法树,编译器生成执行计划,优化器根据规则...
Hive JDBC是Apache Hive项目的一部分,它提供了一个Java数据库连接(JDBC)接口,使得能够通过标准的JDBC驱动程序与Hive数据仓库进行交互。Hive JDBC允许开发者使用SQL语句来查询、操作存储在Hadoop集群上的大数据集...
PyHS2是Python社区开发的一款用于连接Hadoop Hive Server 2(Hiveserver2)的库,它提供了与Hive进行交互的能力,便于在Python环境中执行HQL查询、处理大数据任务。PyHS2的版本为0.6.0,其压缩包文件"pyhs2-0.6.0....