I have been using Cloudera's hadoop (0.20.2). With this version, if I put a file into the file system, but the directory structure did not exist, it automatically created the parent directories:
So for example, if I had no directories in hdfs and typed:
hadoop fs -put myfile.txt /some/non/existing/path/myfile.txt
It would create all of the directories: some, non, existing and path and put the file in there.
Now, with a newer offering of hadoop (2.2.0) this auto creation of directories is not happening. The same command above yields:
put: ` /some/non/existing/path/': No such file or directory
I have a workaround to just do hadoop fs -mkdir first, for every put, but this is not going to perform well.
Is this configurable? Any advice?
Now you should use
hadoop fs -mkdir -p <path>