2016-09-15 11 views
1

以下の簡単なクエリを実行して、簡単なテーブルを作成しています。ハイブでテーブルを作成できません

create table test(id int、name varchar(20));

しかし、以下のエラーが発生しています。正確に行う必要があることを教えてください。

FAILED:実行エラー、 org.apache.hadoop.hive.ql.exec.DDLTaskからコード1を返します。 MetaException(メッセージ:ファイル:/ユーザー /ハイブ/倉庫/テストディレクトリまたは1つを作成することができませんではありません)

私は/ユーザー/ハイブ/倉庫フォルダへの完全な読み取り/書き込みアクセス権を与えています。

+0

私はそれがSOにだけ表示上の問題であることを前提としていますが、実際のエラーメッセージは、/ユーザおよび/ハイブ/倉庫/テスト –

答えて

6

あなたのハイブユーザーには、作成者のhdfsへのアクセス許可がありません。テーブルを作成するたびに、hiveはUser/hive/warehouse/tableにディレクトリを作成しますが、ここではuser/hive/warehouse /にディレクトリを作成することはできません。

http://www.cloudera.com/documentation/archive/cdh/4-x/4-2-0/CDH4-Installation-Guide/cdh4ig_topic_18_7.html

+0

と、既に許可を与えた場合ので、ご確認の間にスペースが含まれているかどうかをチェックしますhive-site.xmlにhive.metastore.warehouse.dirとして指定するパス –

0

エラーメッセージが/ユーザーとパスの残りの部分との間のそのスペースにもかかわらず

file:/user /hive/warehouse/test". 

を言い、ファイル:/は、ハイブがあなたの上にそのディレクトリを作成しようとしていることを意味hdfsではなくローカルファイルシステム。おそらく設定にアクセスすることに問題があります。私はHADOOP_CONF_DIR環境変数が正しく初期化されていることを確認します。

1

権限の問題のように聞こえます。下記のchange modeコマンドが役に立ちます。

hadoop fs -chmod -R 755 /user/hive/warehouse/

関連する問題