class Bricolage::StreamingLoad::JobParams
Public Class Methods
find_job_file(ctx, schema, table)
click to toggle source
# File lib/bricolage/streamingload/jobparams.rb, line 32 def JobParams.find_job_file(ctx, schema, table) paths = Dir.glob("#{ctx.home_path}/#{schema}/#{table}.*") paths.select {|path| File.extname(path) == '.job' }.sort.first end
load(ctx, job_class, schema, table)
click to toggle source
# File lib/bricolage/streamingload/jobparams.rb, line 11 def JobParams.load(ctx, job_class, schema, table) job = load_bricolage_job(ctx, job_class, schema, table) schema = resolve_schema(ctx, schema) job.provide_default 'dest-table', "#{schema}.#{table}" #job.provide_sql_file_by_job_id # FIXME: provide only when exist job.compile new(job) end
load_bricolage_job(ctx, job_class, schema, table)
click to toggle source
# File lib/bricolage/streamingload/jobparams.rb, line 20 def JobParams.load_bricolage_job(ctx, job_class, schema, table) if job_file = find_job_file(ctx, schema, table) ctx.logger.debug "using .job file: #{job_file}" Bricolage::Job.load_file(job_file, ctx.subsystem(schema)) else ctx.logger.debug "using default job parameters (no .job file)" Bricolage::Job.instantiate(table, job_class, ctx).tap {|job| job.bind_parameters({}) } end end
new(job)
click to toggle source
# File lib/bricolage/streamingload/jobparams.rb, line 42 def initialize(job) @job = job @params = job.params end
Private Class Methods
resolve_schema(ctx, schema)
click to toggle source
# File lib/bricolage/streamingload/jobparams.rb, line 37 def JobParams.resolve_schema(ctx, schema) ctx.global_variables.get_force("#{schema}_schema") || schema end
Public Instance Methods
ctl_bucket()
click to toggle source
# File lib/bricolage/streamingload/jobparams.rb, line 51 def ctl_bucket @params['ctl-ds'] end
dest_table()
click to toggle source
# File lib/bricolage/streamingload/jobparams.rb, line 63 def dest_table @params['dest-table'] end
ds()
click to toggle source
# File lib/bricolage/streamingload/jobparams.rb, line 47 def ds @params['redshift-ds'] end
enable_work_table?()
click to toggle source
# File lib/bricolage/streamingload/jobparams.rb, line 55 def enable_work_table? !!@params['work-table'] end
load_options_string()
click to toggle source
# File lib/bricolage/streamingload/jobparams.rb, line 67 def load_options_string @params['load-options'].to_s end
sql_source()
click to toggle source
# File lib/bricolage/streamingload/jobparams.rb, line 71 def sql_source sql = @params['sql-file'] sql ? sql.source : "insert into #{dest_table} select * from #{work_table};" end
work_table()
click to toggle source
# File lib/bricolage/streamingload/jobparams.rb, line 59 def work_table @params['work-table'] end