2010-06-26 152 views
3

有沒有辦法使用Ruby來處理HDFS Api?據我所知,沒有多語言文件Api,唯一的方法是使用本機Java Api。我試過使用JRuby,但是這個解決方案是不穩定的,並不是非常原生的。另外我看了HDFS Thrift Api,但它並不完整,也缺少許多功能(如寫入索引文件)。如何使用Ruby在Hadoop HDFS中寫入/讀取文件?

除了使用JRuby或Thrift Api之外,有沒有一種方法可以使用Ruby來使用Ruby?

回答

8

github中有兩個項目符合你的要求。 ruby-hdfs爲Ruby提供了本地C到HDFS的綁定。 ganapati與Thrift服務器的接口。

您也可以直接對file system shell進行系統調用。例如:

cmd = "hadoop fs -mkdir #{hdfs_path}" 
cmd += " 2> /dev/null" 
system(cmd) 
if $? == 0 
    puts 'ok' 
    exit(0) 
else 
    puts "Error: failed to create hdfs://#{hdfs_path}" 
    exit(2) 
end 
相關問題