3

有没有办法使用 Ruby 处理 HDFS Api?据我所知,没有多语言文件 Api,唯一的方法是使用本机 Java Api。我尝试使用 JRuby,但这个解决方案不稳定而且不是很原生。我还查看了 HDFS Thrift Api,但它并不完整,并且还缺少许多功能(例如写入索引文件)。

除了使用 JRuby 或 Thrift Api 之外,还有没有办法使用 Ruby 来处理 HDFS?

4

1 回答 1

8

github中有两个项目符合您的要求。 ruby-hdfs为 Ruby 提供到 HDFS 的原生 C 绑定。 ganapati与 Thrift 服务器接口。

您也可以直接对文件系统外壳进行系统调用。例如:

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
于 2011-01-24T09:27:58.767 回答