Мой вопрос в том, почему нам нужно указывать 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>
Интуитивно для меня также не имеет смысла, где находится скопированный файл, поскольку он может быть достаточно большим, чтобы находиться на одной машине.