1

Hadoop 環境として cloudera クイックスタート VM 5.8 を使用しています。私は次のことをしようとしました。

  1. hdfs絶対URIを使用してハイブテーブルを作成しました

存在しない場合は外部テーブルを作成する stocks_tb (exch STRING、symbol STRING、ymd STRING、price_open FLOAT、price_high FLOAT、price_low FLOAT、price_close FLOAT、volume INT、price_adj_close FLOAT) ',' LOCATION 'hdfs:// で終了する行フォーマット区切りフィールドquickstart.cloudera:8020/hadoop/hive/stocks';

{相対パスを使用しようとしましたが、絶対パスが必要な場所で相対パスを使用していると Hive CLI から不平を言われました}

  1. データセット ストックをローカル ファイル システムから HDFS の入力/ストックにロードしました。

  2. データセットをテーブルに読み込もうとしました

LOAD DATA INPATH 'hdfs://quickstart.cloudera:8020/input/stocks' INTO TABLE stocks_tb;

エラーが発生します

Invalid path ''hdfs://quickstart.cloudera:8020/input/stocks'': 
No files matching path hdfs://quickstart.cloudera:8020/input/stocks

なぜこのエラーが発生するのかわかりません。input/stocks/stocks にデータはあるのですが、エラーが発生します。

エラーを見つけることができますか/エラーについて何か考えはありますか?

また、私がするとき

hadoop fs -ls hdfs://quickstart.cloudera:8020/input/stocks

ファイルを表示できませんが、表示すると

hadoop fs -ls 入力/在庫

株式ファイルを見る

これをどう解釈していいのかわからない。手伝ってくれる?

ありがとう

4

2 に答える 2

0

ユーザーが HDFS の /input/stocks への読み取り/書き込み権限を持っていない可能性があります。

どのユーザーとしてプログラムを実行していますか? hdfs スーパーユーザー アカウントを使用してみてください。

/input/stocks の所有者は何ですか?

以下を実行して所有権を確認します

hadoop fs -ls /
hadoop fs -ls /input

以下を実行して、所有権/権限を設定できます。

hadoop fs -chown user:group /input
于 2016-11-28T00:44:55.627 に答える