Gibt es eine HDFS-API, die ein gesamtes lokales Verzeichnis auf das HDFS kopieren kann? Ich habe eine API zum Kopieren von Dateien gefunden, aber gibt es eine für Verzeichnisse?Hadoop ein Verzeichnis kopieren?
19
A
Antwort
15
Verwenden Sie die Hadoop FS shell. Im Einzelnen:
$ hadoop fs -copyFromLocal /path/to/local hdfs:///path/to/hdfs
Wenn Sie es programmatisch tun möchten, erstellen Sie zwei Filesystems (eine lokale und eine HDFS) und verwenden the FileUtil class
10
Ich versuchte, aus dem Verzeichnis kopieren
/hadoop/core/bin/hadoop fs -copyFromLocal /home/grad04/lopez/TPCDSkew/ /export/hadoop1/lopez/Join/TPCDSkew
mit Es gab mir ein Fehler, der sagt, Ziel ist ein Verzeichnis. Ich änderte es dann zu
/hadoop/core/bin/hadoop fs -copyFromLocal /home/grad04/lopez/TPCDSkew/*.* /export/hadoop1/lopez/Join/TPCDSkew
es funktioniert.
0
Für Programmierer können Sie auch copyFromLocalFile verwenden. Hier ein Beispiel:
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.FileSystem
import org.apache.hadoop.fs.Path
val hdfsConfig = new Configuration
val hdfsURI = "hdfs://127.0.0.1:9000/hdfsData"
val hdfs = FileSystem.get(new URI(hdfsURI), hdfsConfig)
val oriPath = new Path("#your_localpath/customer.csv")
val targetFile = new Path("hdfs://your_hdfspath/customer.csv")
hdfs.copyFromLocalFile(oriPath, targetFile)
2
In Hadoop Version:
Hadoop 2.4.0.2.1.1.0-390
(Und wahrscheinlich später, ich habe nur diese spezielle Version getestet, wie es derjenige ist, ich habe)
Sie können kopieren ganze Verzeichnisse rekursiv ohne spezielle Notation copyFromLocal
zB ,:
hadoop fs -copyFromLocal /path/on/disk /path/on/hdfs
was auch funktioniert, wenn /path/on/disk
ein Verzeichnis ist, das Unterverzeichnisse und Dateien enthält.
Verwandte Themen
- 1. Kopieren Sie ein ganzes Verzeichnis
- 2. So kopieren Sie ein Verzeichnis mit Ant
- 3. Kopieren Sie ein Verzeichnis mit NSIS.
- 4. Kopieren Sie ein ganzes Verzeichnis mit Phing
- 5. Kopieren Verzeichnisinhalte in ein Verzeichnis mit Python
- 6. Verzeichnis mit Qt kopieren
- 7. Kopieren Sie ein Verzeichnis auf ein anderes Laufwerk
- 8. Verzeichnis kopieren - Post Build Event
- 9. Wie kopieren wir ein ganzes Verzeichnis in ein anderes Verzeichnis in Maven?
- 10. Dateien von tfs versioncontrol in ein Verzeichnis mit PowerShell kopieren
- 11. Wix- So kopieren Sie ein Verzeichnis zu installieren Ordner
- 12. Ansible: Kopieren eines Verzeichnisinhalts in ein anderes Verzeichnis
- 13. vb.net Kopieren der Datei in ein anderes Verzeichnis
- 14. Kopieren von Dateien aus einem Verzeichnis in ein anderes
- 15. Erstellen Sie ein Verzeichnis und kopieren Sie eine Datei
- 16. Kopieren Ordner mit wenigen anderen Ordnern in ein bestimmtes Verzeichnis
- 17. Einmal in Eclipse gespeichert, Projekt in ein anderes Verzeichnis kopieren
- 18. Gulp Kopieren von Dateien von einem Verzeichnis in ein anderes
- 19. Kopieren Sie eine Liste von Dateien in ein Verzeichnis
- 20. Kopieren von Dateien in ein Verzeichnis in regelmäßigen/festgelegten Abständen
- 21. MFC - Kopieren Sie ein Verzeichnis, seine Unterordner und Dateien
- 22. Kopieren Sie die Datei in ein Verzeichnis mit Python
- 23. So kopieren Sie ein Verzeichnis mit Kopiervorgang in Gradle
- 24. Hadoop distcp mit Dateiliste
- 25. Kopieren Knotenmodule Verzeichnis Ergebnisse in Fehler
- 26. Verzeichnis von Assets in Datenordner kopieren
- 27. So kopieren Sie eine Datei aus einem Verzeichnis in ein anderes Verzeichnis in Java
- 28. Wie lösche ich ein Verzeichnis aus dem Hadoop-Cluster, das ein Komma (,) in seinem Namen hat?
- 29. PHP rekursive kopieren Verzeichnisse zu einzelnen Verzeichnis
- 30. ganzes freigegebenes Verzeichnis aus dem Netzwerk kopieren
Ich muss dies programmatisch tun. nicht aus der Shell – rakeshr
ok, habe ich hinzugefügt, wie das mit FileUtil zu tun. –
Kann Hadoop fs Kopie von einer Dateifreigabe unterstützen? Das gelingt mir nie – machinarium