2016-11-28 8 views
0

私はcloudera quickstart VM 5.8をhadoop環境として使用しています。私は次のことを試みました。 ハイブがデータをロードできません - clouderaクイックスタートVM 5.8

HDFS絶対URIを使用して、ハイブテーブルを作成し

  1. ずstocks_tb(EXCHのSTRING、シンボル STRING、YMD STRING、price_open FLOAT、price_high FLOAT、price_lowが付い FLOATを、存在する場合は外部表を作成FLOAT、price_adj_close、FLOAT)、行 '、'ロケーション 'hdfs://quickstart.cloudera:8020/hadoop/hive/stocks';によって終了されたフィールドのフィールドが削除されました。

は{Iは、相対パスを使用して試みたが、ハイブCLIは、私は絶対パスが必要とされる相対パスを使用していることを私に訴え}

ローカルファイルシステムからのデータセットの在庫をロード
  • HDFSの入力/ストックに

  • テーブルにデータセットをロードしようとした

    LOADデータINPATH

  • 'HDFS://quickstart.cloudera:8020 /入力/ストック' 表stocks_tb INTO。

    私はエラー

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

    を取得し、私はこのエラーを取得していますなぜ私は知りません。データは入力/株/株に存在しますが、エラーが発生します。

    エラーに関するエラー/考え方を見つけられるでしょうか?私はまた

    HadoopのFS -ls HDFS://quickstart.cloudera:8020 /入力/銘柄は

    私は任意のファイルを見ることができませんが、私は

    を行うとき

    HadoopのFS -ls入力/株式

    私はSを参照してくださいtocksファイル

    私はこれをどのように解釈するのか分かりません。手伝ってくれる?

    おかげ

    答えて

    0

    実際にデータはuser/cloudera/input/stockssにあり、loadコマンドの/ input/stocksを参照していました。

    正しいロードコマンドは次のようになり

    負荷データINPATH

    'HDFS://quickstart.cloudera:8020 /ユーザ/ Clouderaの/入力/株式' 表stocks_tb INTO 。

    0

    あなたのユーザーがHDFSで/入力/株式への読み取り/書き込みする権限を持っていない可能性がありそうです。

    あなたはどのユーザーがプログラムを実行していますか? hdfsスーパーユーザーアカウントを使用してみることもできます。

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

    実行して、あなたが所有権/アクセス権を設定するには、以下を実行することができ、所有権

    hadoop fs -ls/
    hadoop fs -ls /input 
    

    を確認するには、次の。ちょうど私が疑われたものと

    hadoop fs -chown user:group /input 
    
    関連する問題