Class: Tumugi::Plugin::BigqueryCopyTask

Inherits:
Task
  • Object
show all
Defined in:
lib/tumugi/plugin/task/bigquery_copy.rb

Instance Method Summary collapse

Instance Method Details

#completed?Boolean



26
27
28
29
30
31
32
# File 'lib/tumugi/plugin/task/bigquery_copy.rb', line 26

def completed?
  if force_copy && !finished?
    false
  else
    super
  end
end

#outputObject



18
19
20
21
22
23
24
# File 'lib/tumugi/plugin/task/bigquery_copy.rb', line 18

def output
  return @output if @output

  opts = { dataset_id: dest_dataset_id, table_id: dest_table_id }
  opts[:project_id] = dest_project_id if dest_project_id
  @output = Tumugi::Plugin::BigqueryTableTarget.new(opts)
end

#runObject



34
35
36
37
38
39
40
41
42
43
# File 'lib/tumugi/plugin/task/bigquery_copy.rb', line 34

def run
  log "Source: bq://#{src_project_id}/#{src_dataset_id}/#{src_table_id}"
  log "Destination: #{output}"

  bq_client = output.client
  opts = { wait: wait }
  opts[:src_project_id] = src_project_id if src_project_id
  opts[:dest_project_id] = dest_project_id if dest_project_id
  bq_client.copy(src_dataset_id, src_table_id, dest_dataset_id, dest_table_id, opts)
end