更新时间:2024-06-06 GMT+08:00
分享

调测Hive Python样例程序

Python样例工程的命令行形式运行

  1. 赋予“python-examples”文件夹中脚本的可执行权限。在命令行终端执行以下命令:

    chmod +x python-examples -R

  2. 在python-examples/pyCLI_sec.py中的hosts数组中填写安装HiveServer的节点的业务平面IP。

    Hive多实例的python客户端命令行形式:“python-examples/pyCLI_sec.py”不仅要修改hosts数组,还需根据所使用的实例修改port,port为Hive提供Thrift服务的端口(hive.server2.thrift.port)。

  3. 在python-examples/pyCLI_sec.py和python-examples/pyline.py的conf数组中的“hadoop.hadoop.com”修改为hadoop.实际域名。实际域名可登录FusionInsight Manager,选择“系统 > 权限 > 域和互信 > 本端域” 查看。
  4. 先使用kinit命令获取kerberos认证的缓存。

    使用准备MRS应用开发用户章节中创建的开发用户执行以下命令运行客户端程序:

    kinit -kt keytab的存储路径 username

    cd python-examples

    python pyCLI_sec.py

  5. 在命令行终端查看样例代码中的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

    请按照以下方式处理:

    1. 首先执行如下命令,查询所装操作系统中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
    2. 如果仅存在3.x版本,需要执行如下命令创建软链接
      ln -s /usr/lib64/libsasl2.so.3.0.0 /usr/lib64/libsasl2.so.2

相关文档