`
student_lp
  • 浏览: 437311 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

一、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-0.6.4.tar.gz安装包,python连hive驱动

    PyHive是Python社区开发的一个库,它提供了Python接口,使得Python程序可以直接与Hive和Presto进行通信。PyHive-0.6.4是这个项目的其中一个稳定版本,包含对Hive和Presto的最新支持,允许开发者用Python编写HQL...

    python3.6链接hive和impala的所有依赖包.zip

    在Python 3.6环境下,连接到Hive和Impala数据库需要一系列的依赖包,这些依赖包涵盖了数据处理、网络通信、数据库接口等多个方面。在本文中,我们将深入探讨这些必要的依赖及其作用。 首先,Hive是Apache软件基金会...

    python3.6.5基于kerberos认证的hive和hdfs连接调用方式

    3. `krb5-devel` - Kerberos开发文件,用于构建与Kerberos交互的应用程序。 4. `python-krbV` - Python绑定,用于Kerberos V5库。 5. 其他如`thrift`, `thrift-sasl`, `impyla`, `hdfs[kerberos]`, `pykerberos`等,...

    PyPI 官网下载 | hive_metastore_client-1.0.0-py3-none-any.whl

    Hive Metastore Client是为那些需要与Hive Metastore通信的Python应用程序设计的,比如数据分析工具、ETL(提取、转换、加载)流程或者自定义数据处理服务。通过这个客户端,开发人员可以创建、查询、更新和管理Hive...

    JDBC连接Hive实例

    JDBC(Java Database Connectivity)是Java中用于连接数据库的标准接口,它允许Java应用程序通过标准的API与各种数据库进行交互。本篇我们将深入探讨如何使用JDBC连接到Hive,以及在实际操作中可能遇到的关键知识点...

    hive-jdbc015快照版源码

    Hive JDBC是Apache Hive项目的一部分,它提供了一个Java数据库连接(JDBC)接口,使得其他应用程序,如Python、Java或任何支持JDBC的语言,能够与Hive数据仓库进行交互。这个"hive-jdbc015快照版源码"应该是Hive ...

    JDBD连接hive驱动jar包

    首先,"JDBC连接hive驱动jar包"指的是在Java应用程序中为了实现与Hive通信所需的特定驱动库。这些jar包包含了与Hive服务进行通信所需的类和方法,使得开发者可以编写代码来执行Hive SQL查询并获取结果。 在描述中...

    pyhive.rar

    PyHive是一个Python库,它提供了对Hive和Presto的低级接口,使得Python开发者能够方便地与这些大数据处理框架交互。 首先,PyHive的核心功能在于它为Python程序员提供了与Hive和Presto通信的API。它允许我们编写...

    hive-jdbc-1.1.0-cdh5.12.1 连接库 jar包

    总之,Hive JDBC 1.1.0-cdh5.12.1连接库是CDH环境下与Hive交互的重要桥梁,提供了标准的JDBC接口,简化了客户端与Hive服务器之间的通信,使得数据处理更加便捷高效。无论是数据分析、报表生成还是数据集成,Hive ...

    python 操作hive pyhs2方式

    `pyhs2`是Apache Hive官方提供的Python客户端,支持通过HiveServer2接口与Hadoop集群中的Hive服务进行通信。它提供了连接、执行SQL查询、获取结果集等功能,适用于需要在Python环境中执行Hive SQL的场景。 ### 2. ...

    hive-jdbc-uber-2.6.5.0-292.jar驱动

    Hive JDBC Uber 2.6.5.0-292驱动是Apache Hive与Java数据库连接(JDBC)之间的桥梁,允许用户通过编程语言(如Java、Python等)或者数据库管理工具(如Dbeaver)与Hive进行交互。这个驱动程序集成了所有必要的依赖,...

    HiveJDBC41.jar

    例如,大数据工程师可能会使用Hue这样的Web界面,其底层就可能依赖HiveJDBC与Hive通信。此外,大数据处理框架如Apache Spark,也可以通过JDBC连接Hive,共享存储和查询结果,实现数据的高效流转。 总的来说,Hive...

    hive-jdbc-1.1.0-cdh5.12.1-standalone.rar

    Hive JDBC是Apache Hive项目的一部分,它允许用户使用任何支持JDBC的应用程序(如Java、Python的JDBC库,或者像Tableau这样的BI工具)与Hive通信。这极大地扩展了Hive的使用范围,使得用户可以方便地在各种编程语言...

    sasl安装whl文件.rar

    在Python中与Hive进行交互时,可能会遇到身份验证问题,这时就需要使用SASL(Simple Authentication and Security Layer)库来处理安全认证。 标题中的“sasl安装whl文件.rar”指示了我们需要安装SASL库的一个特定...

    jdbc连接hive

    Hive提供了JDBC驱动,使得应用程序可以通过标准的JDBC接口与Hive通信。在CDH中,Hive JDBC驱动通常位于`$HIVE_HOME/lib`目录下,文件名通常是`hive-jdbc-*.jar`。 3. **连接配置** 连接Hive服务器时,需要设置...

    PyPI 官网下载 | hive_builder-1.1.3.tar.gz

    `hive_builder`库可能利用了Python的`thrift`库来与Hive通信,因为Hive的Python接口通常基于Thrift协议。此外,它可能还依赖于其他数据处理和管理库,如`pandas`、`sqlalchemy`或`hadoop`相关的库。 为了使用`hive_...

    hive-jdbc.7z

    Hive JDBC驱动是连接Hive服务器的关键组件,它实现了JDBC规范,允许任何支持JDBC的应用程序与Hive通信。以下是一些关于Hive JDBC的重要知识点: 1. **安装与配置**:下载解压后的"hive-jdbc-uber-2.6.5.0-292-free....

    大数据系列-Hive入门与实战.pptx

    3. **Thrift 服务器**:提供跨语言支持,如 C++, Java, PHP, Python 和 Ruby,通过 Thrift 协议与 Hive 通信。 4. **解析器、编译器和优化器**:解析器将 HQL 转换为抽象语法树,编译器生成执行计划,优化器根据规则...

    hive-jdbc.zip

    Hive JDBC是Apache Hive项目的一部分,它提供了一个Java数据库连接(JDBC)接口,使得能够通过标准的JDBC驱动程序与Hive数据仓库进行交互。Hive JDBC允许开发者使用SQL语句来查询、操作存储在Hadoop集群上的大数据集...

    pyhs2-0.6.0.tar.gz

    PyHS2是Python社区开发的一款用于连接Hadoop Hive Server 2(Hiveserver2)的库,它提供了与Hive进行交互的能力,便于在Python环境中执行HQL查询、处理大数据任务。PyHS2的版本为0.6.0,其压缩包文件"pyhs2-0.6.0....

Global site tag (gtag.js) - Google Analytics