class DakeScheme::HDFS

Constants

PATTERN

Public Class Methods

new(scheme_part, path_part, step) click to toggle source
# File lib/dake/scheme.rb, line 58
def initialize(scheme_part, path_part, step)
  @src = scheme_part + path_part
  @path = scheme_part + path_part
  @step = step
  if @step.context['HADOOP_HOME']
    @hadoop_bin = "#{@step.context['HADOOP_HOME']}/hadoop/bin/hadoop"
  elsif ENV['HADOOP_HOME']
    @hadoop_bin = "#{ENV['HADOOP_HOME']}/hadoop/bin/hadoop"
  else
    raise "HADOOP_HOME not set." if not hadoop_home or hadoop_home.empty?
  end
  raise "#{@hadoop_bin} not found." unless File.exist? @hadoop_bin
end

Public Instance Methods

exist?() click to toggle source
# File lib/dake/scheme.rb, line 76
def exist?
  system("#{@hadoop_bin} fs -test -e #{@path}")
end
mtime() click to toggle source
# File lib/dake/scheme.rb, line 72
def mtime
  Time.at(`#{@hadoop_bin} fs -stat %Y #{@path}`.chomp.to_i / 1000)
end