2013-03-16 11 views
7

Szukam różnych opcji, za pomocą których mogę zapisywać dane bezpośrednio w hdfs przy użyciu Pythona bez przechowywania w węźle lokalnym, a następnie za pomocą copyfromlocal.Przesyłaj dane do formatu hdf bezpośrednio, bez kopiowania.

Chciałbym użyć HDFS plik podobny do lokalnego sposobu zapisu plików i korzystania z linii jako argumentu, coś z następujących czynności:

hdfs_file = hdfs.create("file_tmp") 
    hdfs_file.write("Hello world\n") 

Czy istnieje coś podobnego do przypadku zastosowania opisanego powyżej?

Odpowiedz

9

Im nie wiesz o bibliotece pyton HDFS, ale zawsze można przesyłać za pośrednictwem Hadoop fs komendy put i oznaczają kopiowanie z stdin przy użyciu „-” jako nazwy pliku źródłowego:

hadoop fs -put - /path/to/file/in/hdfs.txt 
+0

To jest cool. Czy mogę tutaj użyć operatora przekierowania? Mogę napisać do konsoli przez pythona i przekierować wyjście do powyższego polecenia. – 0xhacker

+0

Dzięki, wyprosiłem wyjście z Pythona do powyższego polecenia i zadziałało. – 0xhacker

Powiązane problemy