次の方法で共有


シナリオ: Azure HDInsight で Apache Hive テーブルを作成しようとしているときのアクセス拒否エラー

この記事では、Azure HDInsight クラスターで Interactive Query コンポーネントを使用するときのトラブルシューティングの手順と問題の可能な解決策について説明します。

問題

テーブルを作成しようとすると、次のエラーが表示される。

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 エキスパートから回答を得る。

  • カスタマー エクスペリエンスを向上させるための Microsoft Azure の公式アカウントの @AzureSupport に連絡する。 Azure コミュニティで適切なリソース (回答、サポート、エキスパートなど) につながる。

  • さらにヘルプが必要な場合は、Azure portal からサポート リクエストを送信できます。 メニュー バーから [サポート] を選択するか、 [ヘルプとサポート] ハブを開いてください。 詳細については、「Azure サポート要求を作成する方法」を参照してください。 サブスクリプション管理と課金サポートへのアクセスは、Microsoft Azure サブスクリプションに含まれていますが、テクニカル サポートはいずれかの Azure のサポート プランを通して提供されます。