S
S D
[Note: parts of this message were removed to make it a legal post.]
I'm attempting to use Hadoop FS shell (
http://hadoop.apache.org/core/docs/current/hdfs_shell.html) within a ruby
script. My challenge is that I'm unable to get the function return value of
the commands I'm invoking. As an example Hadoop FS shell command, I try to
run get (http://hadoop.apache.org/core/docs/current/hdfs_shell.html#get) as
follows
hadoop fs -get /user/hadoop/testFile.txt .
This should copy the file testFile.txt to my local directory. From the
command line this generally works but I need to be able to verify that it is
working in my ruby script. The command should return 0 on success and -1 on
error. Based on
http://pasadenarb.com/2007/03/ruby-shell-commands.html
I have assumed that I should use backticks to make the hadoop call and get
the return value. Here is a dialogue within irb in which the command was not
successful:
irb(main):001:0> `hadoop dfs -get testFile.txt .`
get: null
=> ""
and a dialogue within irb in which the command was successful
irb(main):010:0> `hadoop dfs -get testFile.txt .`
=> ""
In both cases, neither a 0 nor a 1 appeared as a return value; indeed
nothing was returned. I'm considering posting this as a bug on the Hadoop
site but I want to make sure that I'm not doing something wrong from a Ruby
point of view.
Your help is appreciated.
Thanks,
John
I'm attempting to use Hadoop FS shell (
http://hadoop.apache.org/core/docs/current/hdfs_shell.html) within a ruby
script. My challenge is that I'm unable to get the function return value of
the commands I'm invoking. As an example Hadoop FS shell command, I try to
run get (http://hadoop.apache.org/core/docs/current/hdfs_shell.html#get) as
follows
hadoop fs -get /user/hadoop/testFile.txt .
This should copy the file testFile.txt to my local directory. From the
command line this generally works but I need to be able to verify that it is
working in my ruby script. The command should return 0 on success and -1 on
error. Based on
http://pasadenarb.com/2007/03/ruby-shell-commands.html
I have assumed that I should use backticks to make the hadoop call and get
the return value. Here is a dialogue within irb in which the command was not
successful:
irb(main):001:0> `hadoop dfs -get testFile.txt .`
get: null
=> ""
and a dialogue within irb in which the command was successful
irb(main):010:0> `hadoop dfs -get testFile.txt .`
=> ""
In both cases, neither a 0 nor a 1 appeared as a return value; indeed
nothing was returned. I'm considering posting this as a bug on the Hadoop
site but I want to make sure that I'm not doing something wrong from a Ruby
point of view.
Your help is appreciated.
Thanks,
John