你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍在 Azure HDInsight 群集中使用交互式查询组件时出现的问题的故障排除步骤和可能的解决方案。
问题
尝试创建表时,会看到以下错误:
java.sql.SQLException: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [hdiuser] does not have [ALL] privilege on [wasbs://data@xxxxx.blob.core.windows.net/path/table]
如果运行以下 HDFS 存储命令,会看到类似的错误消息:
hdfs dfs -mkdir wasbs://data@xxxxx.blob.core.windows.net/path/table
原因
是否能够在 Apache Hive 中创建表由应用于群集的存储帐户的权限决定。 如果群集存储帐户权限不正确,则将无法创建表。 此错误表示你可能为表创建操作设置了正确的 Ranger 策略,但仍会看到“权限被拒绝”错误。
解决方法
此错误是由于对所使用的存储容器缺乏足够的权限造成的。 创建 Hive 表的用户需要对容器具有“读取”、“写入”和“执行”权限。
后续步骤
如果你的问题未在本文中列出,或者无法解决问题,请访问以下渠道之一获取更多支持:
通过 Azure 社区支持获取 Azure 专家的解答。
联系 @AzureSupport,这是用于改进客户体验的官方 Microsoft Azure 帐户。 它可以将 Azure 社区成员连接到适当的资源,为他们提供解答、支持和专家建议。
如果需要更多帮助,可以从 Azure 门户提交支持请求。 从菜单栏中选择“支持”,或打开“帮助 + 支持”中心。 有关更多详细信息,请参阅如何创建 Azure 支持请求。 Microsoft Azure 订阅中带有对订阅管理和计费支持的访问权限,技术支持通过 Azure 支持计划之一提供。