2017-02-02 9 views
1

-lsコマンドを実行すると、/sharedディレクトリは「hadoop fs -ls/shared/table_name」を実行したときに表示されますが、「hadoop fs -ls」の実行中に「/ shared」ディレクトリが表示されない理由

[[email protected] ~]$ hadoop fs -ls 

drwx------ - cts573151 supergroup   0 2016-12-21 05:30 .Trash 
drwxr-xr-x - cts573151 supergroup   0 2017-02-01 12:28 .sparkStaging 
drwx------ - cts573151 supergroup   0 2017-02-02 11:37 .staging 
drwxr-xr-x - cts573151 supergroup   0 2016-12-19 11:40 _sqoop 
drwxr-xr-x - cts573151 supergroup   0 2016-12-12 15:02 externaltables 
drwxr-xr-x - cts573151 supergroup   0 2016-12-20 17:00 inputfiles 
drwxr-xr-x - cts573151 supergroup   0 2016-11-11 10:18 jars 
drwxr-xr-x - cts573151 supergroup   0 2016-12-07 17:05 outputfiles 
drwxr-xr-x - cts573151 supergroup   0 2016-11-29 11:53 pigoutputfiles 
drwxr-xr-x - cts573151 supergroup   0 2017-02-01 14:52 sqlimport 
drwxr-xr-x - cts573151 supergroup   0 2017-02-02 11:36 sqlimport1 
drwxr-xr-x - cts573151 supergroup   0 2016-11-11 14:46 ‘ 

を記載されている。しかし、私は特定の-ls /sharedを使用して、それをリストしようとしたとき、私はそれに保存されたファイルを取得:

[email protected] ~]$ hadoop fs -ls /shared 
Found 2 items 
drwxr-xr-x - cts573182 supergroup   0 2017-02-02 09:56 /shared/emp_sal 
drwxr-xr-x - cts550508 supergroup   0 2016-06-06 18:55 /shared/sampletable 

なぜディレクトリがリストされているが、提供されていますされていませんか?あなたが任意のパスを指定せずにhadoop fs -lsを行う際に、考慮されているデフォルトのパスは/user/<username>/あると/user/<username>/内部ディレクトリ&ファイルがリストされているためです

答えて

2

"/ shared"という言葉はルートレベルにあるため、明示的にルートディレクトリからのパスをhdfsに指定した場合にのみ表示されます。 hadoop fs -ls /

これは、コマンドhadoop fs -lshadoop fs -ls /user/cts573151を実行することで確認できます。どちらも同じ結果をもたらすはずです。

REF:http://www.slideshare.net/prdp6787/interacting-with-hdfs#20

+0

はそれにそれが働いてうれしいdaemon12 –

+0

@感謝を手に入れました。してくださいupvote;) – daemon12

関連する問題