Как писать и читать файлы в / из Hadoop HDFS, используя Ruby? - PullRequest
3 голосов
/ 27 июня 2010

Есть ли способ работы с HDFS Api с использованием Ruby? Как я понимаю, нет мультиязычного файла Api, и единственный способ - использовать нативный Java Api. Я пытался использовать JRuby, но это решение нестабильно и не очень нативно. Также я посмотрел на HDFS Thrift Api, но он не завершен, а также не имеет многих функций (например, запись в проиндексированные файлы).

Есть ли способ работы с HDFS с использованием Ruby, кроме использования JRuby или Thrift Api?

1 Ответ

8 голосов
/ 24 января 2011

В github есть два проекта, которые соответствуют вашим запросам. ruby-hdfs предоставляет родные привязки C к HDFS для Ruby. 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
...