python远程访问hive

#!/usr/bin/python
import sys
sys.path.append(‘/home/zhoujie/Downloads/hive-0.7.0-cdh3u0/lib/py‘)
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

hive_server_ip=‘127.0.0.1‘
hive_server_port=10000
#hive_sql=‘select count(*) from ssp_factbids‘
hive_sql="select count(*) from ssp_factbids where logdate_id=‘20121101‘"

def hiveExe(sql):
    try:
        transport = TSocket.TSocket(hive_server_ip, hive_server_port)
        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(hive_sql)

时间: 2024-10-09 20:11:28

python远程访问hive的相关文章

python 调用hive查询实现类似存储过程

需求:数据仓库中所有表的定义结构保存到新的文件中,保存后类似下面数据,重复的数据只保留7月份即可 ****************ods_log_info*****************lid string uid string mb_uid string operation string module string result string ts string remark1 string remark2 string remark3 string ****************ods_

python实现hive自动化测试

本程序主要实现hive权限测试.系统中有管理员用户single和测试用户test.在路径/home/test/下,将用例和预期结果写在xml文件中. 执 行过程:kinit single用户,beeline -u -e登录并执行对test用户对应角色回收和赋予权限的语句:kinit test用户,beeline -u -e去执行测试语句并保存执行结果到tmp文件中:在tmp文件中查找预期关键字,得出该测试pass还是fail的结果,统计测试结果. #!/usr/bin/python #codin

python操作hive并且获取查询结果scheam

执行hive -e 命令并且获取对应的select查询出来的值及其对应的scheam字段 需要在执行语句中前部添加 set hive.cli.print.header=true; 这个设置,如下语句: hive -e "set hive.cli.print.header=true;use default;select * from students" 这样最后的结果中会返回查询出来的字段值及其对应的scheam 源码参考地址:https://github.com/xjh713/hive

python 中hive 取日期时间的方法

#!/usr/bin/env python3 import sys import os import time, datetime sys.path.append(os.getenv('HIVE_TASK')) from HiveTask import HiveTask ht = HiveTask() day_dt = ht.data_day_str buy_begin = ht.oneday(-80) buy_end = ht.oneday(-20) day_begin = ht.oneday

[Redis Chapter 5] 远程访问 Redis 基于 C#/Python

本次Redis安装在Ubuntu Linux 虚拟机,基于VMPlayer. 1. 设置VM采用VMnet1 2. 查看本机IP 3. 修改redis server的redis.conf使其支持外部IP 4. 启动Redis带有conf 5. Python远程访问Redis server RedisClient : [email protected]:~/redis-2.8.12/src$ redis-cli -h 192.168.162.128 -p 6379

在IDEA上用python来连接集群上的hive

1.在使用Python连接hive之前需要将hive中的文件拷贝到自己创建python项目中 cp -r apache-hive-0.14.0-bin/lib/py  /home/jia/Desktop 2.把hive上的py目录下载到桌面之后,进入py目录,复制里面所有的文件到你创建的python项目下 3.新建一个myHiveLink.py文件,访问hive的代码如下 import sys from hive_service import ThriftHive from hive_servi

hadoop中的hive查询cdn访问日志指定时间段内url访问次数最多的前10位(结合python语言)

hadoop环境描述: master节点:node1 slave节点:node2,node3,node4 远端服务器(python连接hive):node29 需求:通过hive查询到cdn日志中指定时间段内url访问次数最多的前10个url ps:用pig查询可以查询文章: http://shineforever.blog.51cto.com/1429204/1571124 说明:python操作远程操作需要使用Thrift接口: hive源码包下面自带Thrift插件: [[email pr

0039-如何使用Python Impyla客户端连接Hive和Impala

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看. 1.文档编写目的 继上一章讲述如何在CDH集群安装Anaconda&搭建Python私有源后,本章节主要讲述如何使用Pyton Impyla客户端连接CDH集群的HiveServer2和Impala Daemon,并进行SQL操作. 内容概述 1.依赖包安装 2.代码编写 3.代码测试 测试环境 1.CM和CDH版本为5.11.2 2.RedHat7.2 前置条件 1.CDH集群环境正常运行 2.Anaconda已安装并配置环境变量

调用javaAPI访问hive

jdbc远程连接hiveserver2 2016-04-26 15:59 本站整理 浏览(425) 在之前的学习和实践Hive中,使用的都是CLI或者hive –e的方式,该方式仅允许使用HiveQL执行查询.更新等操作,并且该方式比较笨拙单一.幸好Hive提供了轻客户端的实现,通过HiveServer或者HiveServer2,客户端可以在不启动CLI的情况下对Hive中的数据进行操作,两者都允许远程客户端使用多种编程语言如Java.Python向Hive提交请求,取回结果.HiveServe