调测Hive Python样例程序
Python样例工程的命令行形式运行
- 赋予“python-examples”文件夹中脚本的可执行权限。在命令行终端执行以下命令:
chmod +x python-examples -R。
- 在python-examples/pyCLI_sec.py中的hosts数组中填写安装HiveServer的节点的业务平面IP。
Hive多实例的python客户端命令行形式:“python-examples/pyCLI_sec.py”不仅要修改hosts数组,还需根据所使用的实例修改port,port为Hive提供Thrift服务的端口(hive.server2.thrift.port)。
- 在python-examples/pyCLI_sec.py和python-examples/pyline.py的conf数组中的“hadoop.hadoop.com”修改为hadoop.实际域名。实际域名可登录FusionInsight Manager,选择“系统 > 权限 > 域和互信 > 本端域” 查看。
- 先使用kinit命令获取kerberos认证的缓存。
使用准备MRS应用开发用户章节中创建的开发用户执行以下命令运行客户端程序:
kinit -kt keytab的存储路径 username
cd python-examples
python pyCLI_sec.py
- 在命令行终端查看样例代码中的HQL所查询出的结果。例如:
[['default', '']] [{'comment': 'from deserializer', 'columnName': 'tab_name', 'type': 'STRING_TYPE'}] ['xx']
如果出现如下异常:
importError: libsasl2.so.2: cannot open shared object file: No such file or directory
请按照以下方式处理:
- 首先执行如下命令,查询所装操作系统中LibSASL的版本
ldconfig -p|grep sasl
结果如下则表示当前操作系统仅存在3.x版本
libsasl2.so.3 (libc6,x86-64) => /usr/lib64/libsasl2.so.3 libsasl2.so.3 (libc6) => /usr/lib/libsasl2.so.3
- 如果仅存在3.x版本,需要执行如下命令创建软链接
ln -s /usr/lib64/libsasl2.so.3.0.0 /usr/lib64/libsasl2.so.2
- 首先执行如下命令,查询所装操作系统中LibSASL的版本