Cenário: erro de permissão negada ao tentar criar uma tabela do Apache Hive no Azure HDInsight

Este artigo descreve as etapas de solução de problemas e as possíveis resoluções de problemas ao usar os componentes do Interactive Query nos clusters do Azure HDInsight.

Problema

Você verá o seguinte erro ao tentar criar uma tabela:

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]

Você verá uma mensagem de erro semelhante se executar o seguinte comando de armazenamento HDFS:

hdfs dfs -mkdir wasbs://data@xxxxx.blob.core.windows.net/path/table

Causa

A capacidade de criar uma tabela no Apache Hive é decidida pelas permissões aplicadas à conta de armazenamento do cluster. Se as permissões da conta de armazenamento do cluster estiverem incorretas, não será possível criar tabelas. Esse erro significa que você pode ter as políticas corretas do Ranger para criação de tabelas e ainda ver erros de "Permissão Negada".

Resolução

Isso é causado pela falta de permissões suficientes no contêiner de armazenamento que está sendo usado. O usuário que cria a tabela do Hive precisa de permissões de leitura, gravação e execução no contêiner.

Próximas etapas

Se você não encontrou seu problema ou não conseguiu resolver seu problema, visite um dos seguintes canais para obter mais suporte:

  • Obtenha respostas de especialistas do Azure por meio do Suporte da Comunidade do Azure.

  • Conecte-se com @AzureSupport – a conta oficial do Microsoft Azure para aprimorar a experiência do cliente. Como se conectar à comunidade do Azure para os recursos certos: respostas, suporte e especialistas.

  • Se precisar de mais ajuda, poderá enviar uma solicitação de suporte do portal do Azure. Selecione Suporte na barra de menus ou abra o hub Ajuda + suporte. Para obter informações mais detalhadas, consulte Como criar uma solicitação de Suporte do Azure. O acesso ao Gerenciamento de assinaturas e ao suporte de cobrança está incluído na sua assinatura do Microsoft Azure, e o suporte técnico é fornecido por meio de um dos Planos de suporte do Azure.