Class: Embulk::Input::ExampleInputPlugin
- Inherits:
-
Embulk::InputPlugin
- Object
- Embulk::InputPlugin
- Embulk::Input::ExampleInputPlugin
- Defined in:
- lib/embulk/data/bundle/embulk/input/example.rb
Instance Attribute Summary
Attributes inherited from Embulk::InputPlugin
#index, #page_builder, #schema, #task
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(task, schema, index, page_builder) ⇒ ExampleInputPlugin
constructor
A new instance of ExampleInputPlugin.
- #run ⇒ Object
Methods inherited from Embulk::InputPlugin
cleanup, from_java, guess, #init, new_java
Constructor Details
#initialize(task, schema, index, page_builder) ⇒ ExampleInputPlugin
Returns a new instance of ExampleInputPlugin.
34 35 36 37 38 |
# File 'lib/embulk/data/bundle/embulk/input/example.rb', line 34 def initialize(task, schema, index, page_builder) super @file = task['files'][index] @hostname = task['hostname'] end |
Class Method Details
.resume(task, columns, count, &control) ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/embulk/data/bundle/embulk/input/example.rb', line 25 def self.resume(task, columns, count, &control) puts "Example input started." task_reports = yield(task, columns, count) puts "Example input finished. Commit reports = #{task_reports.to_json}" next_config_diff = {} return next_config_diff end |
.transaction(config, &control) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/embulk/data/bundle/embulk/input/example.rb', line 8 def self.transaction(config, &control) files = ['file1', 'file2'] task = { 'files' => files, 'hostname' => config.param('hostname', :string, default: nil) } columns = [ Column.new(0, 'file', :string), Column.new(1, 'hostname', :string), Column.new(2, 'col0', :long), Column.new(3, 'col1', :double), ] resume(task, columns, files.length, &control) end |
Instance Method Details
#run ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/embulk/data/bundle/embulk/input/example.rb', line 40 def run puts "Example input thread #{@index}..." 10.times do |i| @page_builder.add([@file, @hostname, i, 10.0]) end @page_builder.finish # don't forget to call finish :-) task_report = {} return task_report end |