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

#outputObject



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

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



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

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