zoukankan      html  css  js  c++  java
  • Hplsql报错:...HiveSQLExpection:Error while compiling statement:No privilege 'Select' found for inputs {.....}

    实践hplsql时,遇到的问题总结一下,若有不对的地方,欢迎交流。


    一、Hplsql简介

      hplsql的介绍详见:http://lxw1234.com/archives/2015/09/492.htm

     

    二、hpsql的配置文件为hplsql-site.xml

      2.1 常见的选项列表:

    hplsql.conn.default 指定默认的连接配置文件,默认值为hive2conn
    hplsql.conn.hive2conn  指定HiveServer2JDBC连接
    hplsql.conn.init.hive2conn

    定义执行SQL语句连接后执行hive2conn 的一些默认设置,如:set system:user.name=mr;

    set hive.execution.engine=mr(mr为MapReduce,也可以设置为spark);

    hplsql.conn.convert.hive2conn 定义是否对即时SQL转换已启用hive2conn,默认为true
    hplsql.conn.mysqlconn     指定MySQL数据库的连接配置文件

      2.2 对hplsql-site.xml配置

    编辑hplsql-site.xml

    修改或添加以下变量:

    <property>

    <name>hplsql.conn.default</name>

    <value>hive2conn</value>

    <description>The default connection profile</description>

    </property>

    <property>

    <name>hplsql.conn.init.hive2conn</name>

    <value>set system:user.name=mr;set hive.execution.engine=mr</value>

    </property>

    <property>

    <name>hplsql.conn.hive2conn</name>

    <value>org.apache.hive.jdbc.HiveDriver;jdbc:hive2://IPAddress:10000;username;password</value>

    <description>HiveServer2 JDBC connection</description>

    </property>

    三、执行报错

      1)使用hplsql执行HPL/SQL语句,如下:

    ./hplsql -e "CURRENT_DATE+1"

      正确显示时间;

      2)运行 bin/beeline.sh,然后输入  !connect jdbc:hive2://IPAddress:10000;username;password;

      发现连接成功。 

      3)执行的命令:

    ./hplsql -e "SELECT * FROM default.test LIMIT 10"

      3.1 报错信息:...HiveSQLExpection:Error while compiling statement:No privilege 'Select' found for inputs {.....}

      显示对表没有select权限。

      分析过程:

      1)使用命令vim hplsql脚本发现,该脚本主要是调用hive脚本;

      2)查看hive脚本,发现脚本使用环境变量HIVE_CONF_DIR;

      3)使用命令env|grep hive发现,环境变量HIVE_CONF_DIR未设置;

      4)在/etc/profile中加入export HIVE_CONF_DIR=/etc/hive/conf(根据hplsql-site.xml路径指定)

      3.2 报错信息:java.sql.SQLExpection:Could not open client transport with JDBC Uri:jdbc:hive2://localhost:10000:java.net.ConnetcExpection:拒绝连接

      一般为hive-site.xml文件配置问题

      分析过程:

      1)检查端口10000是否启动

    netstat -anp|grep 10000

      2)检查hive-site.xml配置

    <configuration>
    <property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
    </property>
    <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>IPAddress</value>
    </property>
    </configuration>

    注:IPAddress为hive服务对应的IP地址。

  • 相关阅读:
    .net里面实现javascript中的 escape 和 unescape 功能
    CMM/CMMI的5个等级
    数据库连接字符串大全
    关于ExtJS的许可协议
    C#网页自动登录和提交POST信息的多种方法
    [转]如何在网页中设置禁止查看源文件
    应用程序池的配置
    解决为应用程序池 提供服务的进程关闭时间超过了限制
    百度推出开放平台 或颠覆下载网站等六大行业
    UNION会自动删除重复项,union与union all的差异
  • 原文地址:https://www.cnblogs.com/love-yh/p/9949882.html
Copyright © 2011-2022 走看看