FS odnosi się do ogólnego systemu plików, który może wskazywać na dowolne systemy plików, takie jak lokalny, HDFS itp. Jednak dfs jest bardzo specyficzny dla HDFS. Więc kiedy używamy FS , może on wykonywać operacje z / do lokalnego lub rozproszonego systemu plików Hadoop do miejsca docelowego. Ale określenie operacji DFS odnosi się do HDFS.
Poniżej znajdują się fragmenty dokumentacji hadoopa, która opisuje te dwie powłoki jako różne powłoki.
Powłoka FS Powłoka
FileSystem (FS) jest wywoływana przez bin / hadoop fs. Wszystkie polecenia powłoki FS przyjmują jako argumenty identyfikatory URI ścieżek. Format URI to schemat: // autority / ścieżka. Dla HDFS schematem jest hdfs, a dla lokalnego systemu plików schematem file. Schemat i uprawnienia są opcjonalne. Jeśli nie zostanie określony, używany jest domyślny schemat określony w konfiguracji. Plik lub katalog HDFS, taki jak / parent / child, można określić jako hdfs: // namenodehost / parent / child lub po prostu jako / parent / child (zakładając, że twoja konfiguracja wskazuje na hdfs: // namenodehost). Większość poleceń w powłoce FS zachowuje się jak odpowiadające im polecenia Uniksa.
DFShell
Powłoka HDFS jest wywoływana przez bin / hadoop dfs. Wszystkie polecenia powłoki HDFS przyjmują jako argumenty identyfikatory URI ścieżek. Format URI to schemat: // autority / ścieżka. Dla HDFS schematem jest hdfs, a dla lokalnego systemu plików schematem file. Schemat i uprawnienia są opcjonalne. Jeśli nie zostanie określony, używany jest domyślny schemat określony w konfiguracji. Plik lub katalog HDFS, taki jak / parent / child, można określić jako hdfs: // namenode: namenodeport / parent / child lub po prostu jako / parent / child (zakładając, że twoja konfiguracja wskazuje na namenode: namenodeport). Większość poleceń w powłoce HDFS zachowuje się jak odpowiadające im polecenia systemu Unix.
Z powyższego można więc wywnioskować, że wszystko zależy od konfiguracji schematu. Używając tych dwóch poleceń z absolutnym URI, tj. Schemat: // a / b zachowanie powinno być identyczne. Tylko domyślna skonfigurowana wartość schematu dla pliku i hdfs odpowiednio dla plików fs i dfs jest przyczyną różnicy w zachowaniu.
hdfs dfs
pokazać pliki HDFS też.