HiveSQLException: Error while compiling statement: No privilege 'Create' found for outputs{database}

2023-11-12

今天用Hive的JDBC实例时出现了HiveSQLException: Error while compiling statement: No privilege ‘Create’ found for outputs { database:default }的错误,日志如下。

**org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: No privilege 'Create' found for outputs { database:default }**

       at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:231)

       at org.apache.hive.jdbc.Utils.verifySuccessWithInfo(Utils.java:217)

       at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:254)

       at zimo.hadoop.hive.Hive.main(Hive.java:27)

**Caused by: org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: No privilege 'Create' found for outputs { database:default }**

       at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:314)

       at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:102)

       at org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:171)

       at org.apache.hive.service.cli.operation.Operation.run(Operation.java:256)

       at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:376)

       at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:363)

       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

       at java.lang.reflect.Method.invoke(Method.java:497)

       at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:79)

       at org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:37)

       at org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:64)

       at java.security.AccessController.doPrivileged(Native Method)

       at javax.security.auth.Subject.doAs(Subject.java:422)

       at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)

       at org.apache.hadoop.hive.shims.HadoopShimsSecure.doAs(HadoopShimsSecure.java:536)

       at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:60)

       at com.sun.proxy.$Proxy22.executeStatementAsync(Unknown Source)

       at org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:270)

       at org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:401)

       at org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1313)

       at org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1298)

       at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)

       at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)

       at org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56)

       at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:206)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

       at java.lang.Thread.run(Thread.java:745)

  从日志可以清楚地看出,出现该错误的原因是因为我们创建的用户没有执行‘Create’操作的权限,所以我们需要将权限授予该用户。

解决办法:

hive> set system:user.name=hadoop;

1.给当前用户权限:

  给用户当前权限:

hive> grant create on database default to user hadoop;
OK
Time taken: 0.146 seconds

  或者给用户所有权限 :

hive> grant all on database default to user hadoop;   
OK
Time taken: 0.146 seconds

2.在其他有权限的数据库里创建表

  比如 当前用户在db1里面有权限,而在default里面是没有的那么可以:

use db1;

create table default.test

(

name string

);

  这样也可以创建。

  然后,我们的问题就能得到解决了!

以上就是博主为大家介绍的这一板块的主要内容,这都是博主自己的学习过程,希望能给大家带来一定的指导作用,有用的还望大家点个支持,如果对你没用也望包涵,有错误烦请指出。如有期待可关注博主以第一时间获取更新哦,谢谢! 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HiveSQLException: Error while compiling statement: No privilege 'Create' found for outputs{database} 的相关文章

随机推荐

  • java.lang.StackOverflowError: null(栈内存溢出)递归导致

    通常是递归导致 或者死循环 在方法里调用了自己 导致无限调用 很快就会报错StackOverflowError 例如 有些初学者会犯如下错误 这是service类 public void saveEntity Emp emp this sa
  • vue拖拽

    1 定义拖拽指令 2 使用 3 效果 4 完整代码
  • Spring Boot入门编写简单java代码

    这里我简单编写一个Hello World的代码 文章目录 1 设置访问端口 2 编写项目代码 1 设置访问端口 在yml文件中编写端口为8080 我们启动项目是的路径就是localhost 8080 server port 8080 2 编
  • ‘UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xff in position 0: invalid start byte‘成功解决

    今天在用pandas进行读取时出现了bug 出现这种情况的原因是 文件的编码不是 UTF8 编码的 而pandas读取文件时固定采用 UTF8 解码 解决方法是改为对应的解码方式 解决的方式有两种 第一种 可以查看你对应文件的编码格式 使用
  • 生成对角矩阵 numpy.diag

    给定对角线上元素 我想生成对角矩阵 在网上搜了一下 竟然都是numpy diagonal 这个函数的作用是提取给定矩阵的对角元素 当然不是我想要的 后来发现numpy diag才是生成对角矩阵的函数 所以写此文章记录之 import num
  • 【运维&测试】如何写好测试用例

    一 常用术语 按软件测试手段 黑盒 灰盒 白盒 其中白盒测试是三个当中技术难度最高的 测试方向 功能 性能 安全 测试点划分 兼容性 易用性 UI元素 二 测试用例是什么 是测试工作的核心 是一组在测试时输入输出的标准 是软件需求的具体对照
  • 微服务 tars php,TARS-PHP

    TARS PHP是针对PHP使用tars二进制协议 以及Tars平台整体运维 RPC等一系列能力的解决方案 它主要由如下的几个部分组成 Tars是基于名字服务使用 Tars 协议的高性能 RPC 开发框架 同时配套一体化的服务治理平台 帮助
  • Python调用java代码-两种方法

    使用的模块jpype 一 直接使用java内置函数 from jpype import startJVM 开启java虚拟机 getDefaultJVMPath 自动获取虚拟机路径 startJVM getDefaultJVMPath ea
  • 第六大晶圆代工厂商2021净利润大增593.3%

    3月29日 华虹半导体发布2021全年业绩公告 销售收入创历史新高 达16 31亿美元 较上年度增长69 6 净利润为2 31亿美元 较2020年上升593 3 公告指出 华虹半导体销售收入增长因付运晶圆增加及平均销售价格上涨所致 在原材料
  • 使用Navicat+Premium模型设计表之间关系图(1:n;n:n)

    一 设计E R图之间关系 1 打开Navicat Premium软件 开始设计表 2 设计表之间的关系 操作步骤 选中关系图标 将某张表的一个字段拖动到另外一张表的字段 设计表之间的关系 4 导出成png 5 保存模型 使用Navicat逆
  • winform 开发用什么框架_为什么自动化测试框架中优先用 Pytest而不是 Robot Framework?...

    Python 自动化测试框架 的优缺点对比 之前曾提问请教过 Pytest 和 Robot Framework 的优缺点对比 由于网上关于这方面的信息比较少 收到大家的反馈建议 十分感谢 现在是该总结一下了 欢迎大家一起交流探讨 在对比框架
  • javaparser_JavaParser生成,分析和修改Java代码

    javaparser 作为开发人员 我们经常鄙视手动进行重复工作的人员 我们认为 他们应该实现这一目标 尽管如此 我们还是进行与编码有关的所有活动 当然 我们使用的高级IDE可以为我们执行一些重构 但这基本上就结束了 我们不品尝我们自己的药
  • [R语言] ggplot2入门笔记2—通用教程ggplot2简介

    文章目录 通用教程简介 Introduction To ggplot2 2 ggplot2入门笔记2 通用教程ggplot2简介 1 了解ggplot语法 Understanding the ggplot Syntax 2 如何制作一个简单
  • JS中的for循环讲解

    1 什么时候使用for循环 当我们想要遍历一个数组的值 或者实现一个点击按钮 多个按钮 时需要干的事情等等 这时候我们需要使用for循环实现可以更加的节约代码量 因此 可以简化为一句话 需要一轮一轮的重复去做这件事 可以使用for循环 真实
  • mysql分库分表的原则

    分库分表的种类 分库分表是指把数据库中数据物理地拆分到多个实例或多台机器上 非mysql原生态partitioning partitioning是mysql官方支持 在本地针对表的分区进行操作 它 可以将一张表的数据分别存储为多个文件 如果
  • 线索化二叉树,前序、中序以及后序遍历代码

    文章目录 节点代码 前 中 后序线索化以及遍历代码 测试代码 节点代码 class Node int value Node left 左子树 Node right 右子树 Node pre 父节点 左节点属性 若值为0 其指向的是子树 若值
  • 计算机文字环绕图片的方式有哪些,Word2003文字环绕图片方式怎么设置

    用Word2003编辑文档为了能让图片显示的效果更好 我们可能会设置文字环绕图片方式 下面是学习啦小编给大家整理的一些有关Word2003文字环绕图片方式的设置方法 希望对大家有帮助 Word2003文字环绕图片方式的设置方法 首先 进入W
  • 如何将一个网页文件设置为屏幕保护程序

    将一个网页文件设置为电脑的屏幕保护程序 如何实现 1 自己写的网页文件或者是某个浏览器的URL 将其网页形式变成屏幕保护程序 2 用C 写一个WindowsForm程序 用WebBrowser控件实现 3 将产生的 exe文件复制到Syst
  • 五种方式:Python中拼接字符串的正确方法

    在学习Python的过程中 在拼接字符串的时候遇到了些问题 所以抽点时间整理一下Python 拼接字符串的几种方式 方式1 使用加号 连接 使用加号连接各个变量或者元素必须是字符串类型
  • HiveSQLException: Error while compiling statement: No privilege 'Create' found for outputs{database}

    今天用Hive的JDBC实例时出现了HiveSQLException Error while compiling statement No privilege Create found for outputs database defaul