2012-11-15 15 views
7

Czy istnieje ln -s w HDD w huku?Czy jest ln w hado HDFS

Na przykład:

Mam 10 plików w HDFS

/user/hadoop/input, który jest 1.txt, 2.txt ... 10.txt

Innym dir w HDFS jest /user/hadoop/test

chcę tylko kopia 1 plik /user/hadoop/input/1.txt do /user/hadoop/test/1.txt .

Najprostszym sposobem jest użycie hadoop dfs -cp /user/hadoop/1.txt /user/hadoop/test.

Ale to kosztuje więcej czasu i miejsca na dysku. Czy istnieje sposób jak powłoki, takie jak hadoop dfs -ln /user/hadoop/1.txt /user/hadoop/test/1.txt?

+0

Istnieją dowiązania symboliczne w nieco nowszej wersji, jakiej wersji używasz? –

+0

wersja mojego hadoop jest 1.0.3 – pensz

Odpowiedz

6

HDFS obsługuje dowiązania symboliczne. Aby uzyskać więcej informacji, sprawdź 1, 2, 3, 4. Można to zrobić za pomocą Java API, ale nigdy nie spotkałem się z tym samym interfejsem CLI.

+0

Thxs za odpowiedź. Z wczoraj też znalazłem API Java. Czy można to zrobić za pomocą narzędzi wykorzystujących interfejs API. Nie chcę powtórzyć :) – pensz

+3

Jest całkiem nieźle, nie ma na to sposobu CLI :( – rjurney

+3

[HADOOP-10020] (https://issues.apache.org/jira/browse/HADOOP-10020) i [ HADOOP-10052] (https://issues.apache.org/jira/browse/HADOOP-10052) wyłącza dowiązanie symboliczne od wersji 2.2.0. Mówi "tymczasowo" do wersji 2.3.0, ale widzę, że nadal jest wyłączone w wersji 2.5.0 -cdh5.3.0 To dość rozczarowujące, że cloudera właśnie usunął funkcję – lyomi