У меня вопрос: зачем нам нужно указывать dest. Файл, который я помещаю в hdfs, не обязательно лежит целиком на локальной машине, так что толку от указания dest в команде.
Когда я запускаю команду с помощью команды lie, а затем выполняю hadoop dfs -ls, я вижу, что мой файл занесен в список в hdfs, но когда я создаю файл программно, используя
FileSystem fs = FileSystem.get(conf);
Path filenamePath = new Path("hello.txt");
fs.create(filenamePath);
, а затем выполните hadoop dfs -ls. Я не могу найти этот файл.
В моем core-site.xml есть следующее ...
<!-- In: conf/core-site.xml -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/apurv/hadoop/hdfs</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem.</description>
</property>
Интуитивно понятно, что для меня не имеет смысла, где находится скопированный файл, так как он может быть достаточно большим для размещения на одной машине.