2013-02-17 13 views
22

Prawdopodobnie pytanie noob, ale czy istnieje sposób, aby przeczytać zawartość pliku w hdfs oprócz kopiowania do lokalnego i czytania przez UNIX?Zobacz zawartość pliku w hdfs hadoop

Więc teraz co robie to:

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

    nano local/path 

Zastanawiam się, czy mogę otworzyć plik bezpośrednio do HDFS zamiast kopiowania go na lokalny, a następnie otwierając go.

Dzięki

Odpowiedz

40

wierzę hadoop fs -cat <file> powinno załatwić sprawę.

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

Jeśli rozmiar pliku jest ogromna (co będzie miało miejsce w większości przypadków), wykonując „kot” nie chcą wysadzić terminal rzucając całą zawartość pliku. Zamiast tego użyj potoków i uzyskaj tylko kilka wierszy pliku.

Aby uzyskać pierwsze 10 wierszy pliku, hadoop fs -cat 'ścieżka pliku' | head -10

Aby uzyskać ostatnie 5 wierszy pliku, hadooop fs -cat 'ścieżka pliku' | ogon -5

2

Jeśli używasz Hadoop 2.x, można użyć

hdfs dfs -cat <file>