更新时间:2024-08-05 GMT+08:00

调测Hive Python样例程序

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

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

    chmod +x python-examples -R

  2. 在“python-examples/pyCLI_sec.py”中的hosts数组中填写安装HiveServer的节点的业务平面IP地址。HiveServer业务平面IP地址可登录FusionInsight Manager,选择“集群 > 服务 > Hive > 实例”查看。
  3. 将“python-examples/pyCLI_sec.py”和“python-examples/pyline.py”的conf数组中的“hadoop.hadoop.com”修改为hadoop.实际域名。实际域名可登录FusionInsight Manager,选择“系统 > 权限 > 域和互信 > 本端域” 查看。
  4. 先使用kinit命令获取Kerberos认证的缓存。

    使用准备集群认证用户信息中创建的开发用户执行以下命令运行客户端程序:

    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