Was ist der Unterschied zwischen Shell-Befehlen "hadoop fs" und Shell-Befehlen "hdfs dfs"?
Sollen Sie gleich sein?
aber, warum die "hadoop fs
" Befehle zeigen, die hdfs files
während die "hdfs dfs
" Befehle zeigen, die lokalen Dateien?
hier ist die hadoop-version Informationen:
Hadoop 2.0.0-mr1-cdh4.2.1 Subversion
git://ubuntu-slave07.jenkins.cloudera.com/var/lib/jenkins/workspace/CDH4.2.1-Packaging-MR1/build/cdh4/mr1/2.0.0-mr1-cdh4.2.1/source
-r Zusammengestellt von jenkins am Mo Apr 22 10:48:26 PDT 2013
InformationsquelleAutor der Frage Charlie Lin | 2013-08-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Folgenden werden die drei Befehle, die erscheint, dieselben haben aber minimale Unterschiede
FS bezieht sich auf ein generisches Datei-system kann auf alle Dateisysteme wie lokale, HDFS etc. Dies kann verwendet werden, wenn Sie den Umgang mit verschiedenen Dateisysteme wie Lokale FS, (S)FTP, S3, und andere
dfs ist sehr spezifisch für HDFS. würde die Arbeit für den Betrieb bezieht sich auf HDFS. Dies wurde als veraltet markiert und sollten wir nutzen, hdfs dfs - statt.
gleiche wie 2. i.e würde für alle Vorgänge im Zusammenhang mit HDFS und ist der empfohlene Befehl anstelle des hadoop dfs -
unten ist die Liste kategorisiert als
hdfs
Befehle.So, selbst wenn Sie hadoop dfs - wird es Aussehen , suchen Sie hdfs und delegieren Sie den Befehl hdfs dfs -
InformationsquelleAutor der Antwort dpsdce
https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html
Dateisystem (FS) - shell enthält verschiedene shell-Befehle, die direkt die Interaktion mit dem Hadoop Distributed File System (HDFS) als auch von anderen
Datei-Systeme, Hadoop unterstützt, wie Lokale FS, WebHDFS, S3 FS, und andere.
Alle FS-shell-Befehle Weg, die URIs als Argumente. Das URI-format ist scheme://authority/path. Für HDFS das Schema ist hdfs, und
für den Lokalen FS der Schema-Datei. Das Schema und die Behörde sind optional. Wenn nicht angegeben, wird der default-Schema, in der Konfiguration angegeben ist
verwendet. Ein HDFS-Datei oder ein Verzeichnis wie /Elternteil/Kind kann angegeben werden, wie hdfs://namenodehost/Eltern/Kind oder einfach als /Eltern/Kind (gegeben, dass Ihr
Konfiguration Punkt-zu-hdfs://namenodehost).
Meisten der Befehle in FS-shell Verhalten sich wie die entsprechenden Unix-Befehle. Unterschiede werden beschrieben, die mit jedem der Befehle. Fehler Informationen
auf stderr geschickt, und die Ausgabe wird an stdout gesendet.
Wenn HDFS verwendet wird,
ist ein synonym.
InformationsquelleAutor der Antwort novice
Was ich sagen kann, es gibt keinen Unterschied zwischen
hdfs dfs
undhadoop fs
. Sie sind einfach unterschiedliche Namenskonventionen basierend auf welche version von Hadoop, die Sie verwenden. Zum Beispiel, die Noten in 1.2.1 verwendenhdfs dfs
während 0.19 verwendethadoop fs
. Beachten Sie, dass die separaten Befehle beschrieben sind verbatim. Sie sind identisch eingesetzt.Beachten Sie auch, dass beide Befehle beziehen sich auf verschiedene file-Systeme je nachdem, was Sie angeben (hdfs Datei, s3, etc). Wenn kein Datei-system aufgeführt ist, fallen Sie zurück zu default, die in Ihrer Konfiguration angegeben ist.
Bist du mit Hadoop-Version 2.0.0 und wie es aussieht ( basierend auf 2.0.5 Dokumentation ), dass Alpha-Versionen verwenden
hadoop fs
ist und verwenden Sie den HDFS als das Standardschema in Ihrer Konfiguration. Diehdfs dfs
Befehl gelassen werden könnten, in aus vor, und seit nicht in der Konfiguration angegeben, konnte nur werden standardmäßig auf dem lokalen Dateisystem.So, ich würde nur stick mit
hadoop fs
und nicht zu viel sorgen, seit im Dokumentation, Sie sind identisch.InformationsquelleAutor der Antwort Eric Alberson
fs bezieht sich auf das Datei-system, es könnte sein, lokale oder HDFS dfs aber bezieht sich nur auf HDFS-Dateisystem. Also, wenn Sie brauchen, um Zugang zur Datenübertragung zwischen verschiedenen filesystem, fs ist der Weg zu gehen.
InformationsquelleAutor der Antwort Ashish Bindal
FS bezieht sich auf ein generisches Datei-system kann auf alle Dateisysteme wie lokale, HDFS etc. Aber dfs ist sehr spezifisch für HDFS. Also, wenn wir FS es kann führen den Betrieb mit von/zu lokalen oder hadoop distributed file system zum Ziel . Aber die Angabe DFS Betrieb bezieht sich auf HDFS.
Unten sind die Auszüge aus hadoop-Dokumentation, die beschreibt diese als zwei verschiedene shells.
FS Shell
Das Dateisystem (FS) - shell aufgerufen wird, indem Sie/bin /hadoop fs . Alle FS-shell-Befehle Weg, die URIs als Argumente. Das URI-format ist scheme://authority/path. Für HDFS das Schema ist hdfs, und für das lokale Dateisystem der Schema-Datei. Das Schema und die Behörde sind optional. Wenn nicht angegeben, wird standardmäßig das Schema-Angabe in der Konfiguration verwendet wird. Ein HDFS-Datei oder ein Verzeichnis wie /Elternteil/Kind kann angegeben werden, wie hdfs://namenodehost/Eltern/Kind oder einfach als /Eltern/Kind (vorausgesetzt, dass Ihre Konfiguration Punkt-zu-hdfs://namenodehost). Die meisten der Befehle in FS-shell Verhalten sich wie die entsprechenden Unix-Befehle.
DFShell
Die HDFS-shell aufgerufen wird, indem Sie/bin /hadoop dfs . Alle die HDFS-shell-Befehle Weg, die URIs als Argumente. Das URI-format ist scheme://authority/path. Für HDFS das Schema ist hdfs, und für das lokale Dateisystem der Schema-Datei. Das Schema und die Behörde sind optional. Wenn nicht angegeben, wird standardmäßig das Schema-Angabe in der Konfiguration verwendet wird. Ein HDFS-Datei oder ein Verzeichnis wie /Elternteil/Kind kann angegeben werden, wie hdfs://namenode:namenodeport/Eltern/Kind oder einfach als /Eltern/Kind (vorausgesetzt, dass Ihre Konfiguration Punkt-zu-namenode:namenodeport). Die meisten der Befehle in HDFS-shell Verhalten sich wie die entsprechenden Unix-Befehle.
Also aus dem obigen kann geschlossen werden, dass es hängt alles von der Regelung konfigurieren. Bei Verwendung dieser zwei-Befehl mit dem absoluten URI, d.h. Schema://a/b das Verhalten identisch sein. Nur seine konfigurierten Standard-Schema Wert für die Datei-und hdfs-für fs-und dfs-bzw. was ist die Ursache für den Unterschied im Verhalten.
InformationsquelleAutor der Antwort Isaac Aldana
fs
= file Systemsdfs
= distributed file systemfs
= andere Datei-Systeme + distributed file systemsFS bezieht sich auf ein generisches Datei-system kann auf alle Dateisysteme wie lokale, HDFS etc. Aber die dfs ist sehr spezifisch für HDFS. Wenn wir also mit FS kann es führen den Betrieb mit von/zu lokalen oder hadoop distributed file system zum Ziel . Aber die Angabe DFS-Betrieb bezieht sich auf HDFS.
Es hängt alles von der Regelung konfigurieren. Bei Verwendung dieser zwei-Befehl mit dem absoluten URI, d.h.
scheme://a/b
das Verhalten identisch sein. Nur seine konfigurierten Standard-Schema Wert fürfile://
undhdfs://
fürfs
unddfs
bzw. was ist die Ursache für den Unterschied im Verhalten.InformationsquelleAutor der Antwort user8144911