2013-02-17 15 views
22

Wahrscheinlich eine Frage, aber gibt es eine Möglichkeit, den Inhalt der Datei in hdfs neben dem Kopieren auf lokale und Lesen durch Unix zu lesen?Inhalt der Datei in hdfs ansehen hadoop

So jetzt, was ich tue, ist:

bin/hadoop dfs -copyToLocal hdfs/path local/path 

    nano local/path 

Ich frage mich, ob ich lieber eine Datei direkt in hdfs öffnen kann es auf lokaler als das Kopieren und öffnen Sie es dann.

Dank

Antwort

40

Ich glaube hadoop fs -cat <file> die Arbeit machen sollte.

3
hadoop dfs -cat <filename> or hadoop dfs -cat <outputDirectory>/* 
8

Wenn die Dateigröße sehr groß ist (was der Fall der meisten der Zeit sein wird), indem Sie ‚Katze‘ wollen Sie nicht Ihren Terminal sprengen, indem Sie den gesamten Inhalt der Datei zu werfen. Verwenden Sie stattdessen Piping und erhalten Sie nur wenige Zeilen der Datei.

Um die ersten 10 Zeilen der Datei zu erhalten, hadoop fs -cat 'Dateipfad' | Kopf -10

Um die letzten 5 Zeilen der Datei zu erhalten, hadoopop fs -cat 'Dateipfad' | tail -5

2

Wenn Sie hadoop 2.x verwenden, können Sie

hdfs dfs -cat <file> 
verwenden
Verwandte Themen