pyinstaller打包python源程序访问hive

1.需求

  使用hvie
server一段时间后,业务部门需要自己不定时的查询业务数据,之前这一块都是他们提需求我们来做,后来发现这样重复一样的工作放在我们这边做是在没有效率,遂提出给他们工具或者web
UI自助查询,当然hive有自己的hwi可以通过网页UI进行自助查询,但是这对不懂sql的业务人员有点不太友好,目前有没时间去修改hwi的UI,所以还是给他们提供查询工具吧。我这边主要使用python
thrift访问集群的hive,所以自然要将python源码打包成.exe,业务人员在windows环境下双击该应用程序,输入参数回车后即可查询hive数据。

2.python thrift访问hive示例代码如下(connectHive.py):


#-*-encoding: utf-8-*-
‘‘‘
Created on 2014年2月19日

@author: jxw
‘‘‘

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(‘192.168.243.128‘, 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()
for r in client.fetchAll():
#for w in r.strip().split(‘\t‘):
#print w
print r
print "............"
transport.close()
except Thrift.TException, tx:
print ‘%s‘ % (tx.message)

if __name__ == ‘__main__‘:
num = int(raw_input("input top N:"))
#print num
sql_ctx = "select * from game_log.tab_char_create limit %d" %num
#print sql_ctx
hiveExe(sql_ctx)
s = raw_input("Enter any key to exit.")
print s

3.从http://www.pyinstaller.org/下载pyinstaller,放在F:\zip目录下并解压,将以上代码copy到该目录下,如下图:

4.打开命令行进入上面的目录,输入以下代码

其中-F表示生成单一的一个可执行文件.exe(会将各种.dll等文件集成一个exe文件);-p代表需要import的包的目录,这里是python使用thrift服务访问hive的包py。

执行完成后会在当前目录下生成一个connectHive的目录,见上图。

5.执行

在connectHive目录下的dist下面有个connectHive.exe,即为需要的执行文件,双击如下:

输入参数后回车,执行结果见下:

按任意键即可退出。

6.待优化

(1) 将结果序列化进文件,方便业务人员自由处理;

(2) 设置hive
query的执行频度,这可以在代码中设置hadoop用户和mapreduce使用的作业队列mapred.job.queue.name,防止集群资源被该业务频繁大规模占用。

pyinstaller打包python源程序访问hive

时间: 2024-10-07 11:38:01

pyinstaller打包python源程序访问hive的相关文章

使用PyInstaller打包Python程序

使用PyInstaller打包Python程序 PyInstaller介绍: PyInstaller是一个能将Python程序转换成单个可执行文件的程序, 操作系统支持Windows, Linux, Mac OS X, Solaris和AIX.并且很多包都支持开箱即用,不依赖环境. 环境为windows7操作系统,python2.7.8 virtual environment 官网:https://github.com/pyinstaller/pyinstaller 详细步骤: 1. win7下

PyInstaller打包Python源文件为可执行程序exe

1. 安装PyInstaller 使用命令:pip install PyInstaller时可能会由于网络的问题出现以下问题: pip._vendor.urllib3.exceptions.ReadTimeoutError:HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. 此时修改命令为:pip install --default-timeout=1000 PyInstaller 问题未解决

PyInstaller打包Python脚本为exe

1.PyInstaller-3.1.1  百度云链接  http://pan.baidu.com/s/1jHYWin8 密码  oapl 2.安装最新版本的 pywin32-217.win32-py2.7.exe  链接http://download.csdn.net/detail/gfsfg8545/6539111 先安装完pywin,然后将pyinstaller解压(随便你解压到哪里) 然后 切换到这个盘,打开文件运行pyinstaller.py (注意要设置Python环境变量) 我么可以

pyinstaller打包python程序(python3.5)

昨天弄好程序以后,思量这真正做活动也不可能现场打开IDE来运行吧,然后寻思着在网上查找如何打包 搜寻网上的方法,大概也就两种 Py2exe pyinstaller 第一种看大多数的评价貌似不高,而且好像很麻烦的样子 所以我就选择了第二种 安装过程: 以前介绍过两种方式 http://www.cnblogs.com/ronyjay/p/6483522.html pip 第三方安装 首先我选择尝试了第三方安装: 网上下载pyinstaller的包,地址https://github.com/pyins

pyinstaller 打包python文件成.exe程序

使用pycharm写好的代码,每次都要使用pycharm来执行比较麻烦,打包成.exe程序后可以直接运行,还可以发到别的电脑上执行,比较方便. 1.打开cmd命令提示符窗口,cd到pip.exe所在的目录,使用pip.exe install pyinstaller命令安装pyinstaller模块(前提是你的电脑已经安装了python),安装完成后会在目录下生成很多py文件. 2.使用命令pyinstaller -c -F weixin.py生成weixin.exe程序 执行完之后会在当前目录下

使用pyinstaller打包python小程序(没有使用第三方模块)

准备: 1,xxx.py程序文件 2,自定义的图标文件:xxx.ico 图标文件应该包含常见的多分辨率格式,以便适应在不同场合显示,不能是单一图片. 你可以用专用的软件处理生成图标,不过少量的图标生产,其实最方便的还是直接找网上的在线工具解决.以converticon网站操作为例(https://lvwenhan.com/convertico/),只需要选择本地图片上传,然后选择需要的多个分辨率,就可以导出自己需要的图标文件了. 第一步: 以管理员打开cmd命令行窗口,输入: 这一步,点回车,会

pyinstaller 打包python程序

准备: Python 3.7  PC 运行 Python 环境 安装 pytistaller 命令: 语法: pyinstaller [options] script [script ..] | specfile pyinstaller hello.py 常用参数: -n 文件名 -D 创建一个可执行文件的单文件包 -F           创建一个绑定的可执行文件 -w   使用窗口 无控制台 可以通过 pyinstaller -h 或者 pyinstaller --hrlp 查看全部参数!!

利用pyinstaller打包Python项目包含多个文件夹

最近用Python给媳妇写了两个小项目,给解决了她的每天重复的一些人工操作.媳妇很开心,但是问题来了,她是个Python小白,对她来说,需要安装配置Python环境和一大堆第三方模块是个麻烦事儿.而且后续把这些工作交接给别人的话,一是又需要重新安装Python环境,二是我辛苦给她写的源码就这样暴露了. 为了解决这个问题,于是就开始百度.果然Python还是有好多中加密源码的方法,并且可能打包成exe的可执行文件.这样不仅保护了源码的安全,还免去了安装Python环境的繁琐. 最开始试了是py2e

使用pyinstaller打包Python应用,生成EXE执行文件

在命令行中切换到要打包的程序所在目录,或者在程序目录打开命令行,直接输入下面的指令即可pyinstaller -F xxx.py pyinstaller -F -w -i manage.ico app.py -F:打包为单文件-w:Windows程序,不显示命令行窗口-i:是程序图标,app.py是你要打包的py文件 来自 <https://www.zhihu.com/question/31784262 有fail to excute问题直接命令行 pyinstaller xxx.py