embulk-output-bigobject 0.3.3 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 78b8d6dbc201c54d149ccddc35c5aadd4a2903bb
4
- data.tar.gz: a9b8c9e531e0cc987cdf6cb88cef89f69f3adaac
3
+ metadata.gz: e98e4ee288205d9e18ac9c3c4f22f29d01fcec5b
4
+ data.tar.gz: b3f2aba9a693ae919281242ba1cd5f17fd5d1808
5
5
  SHA512:
6
- metadata.gz: 30c0e5ac1d47da48c4ebb29d5cdd6300b2be7c550c3f6ab6bd8373a965f74d9cbda4711faeb91517aa33542962771925402b8e4261ab612c0c9d62a273d04170
7
- data.tar.gz: 42882ce4db3b518a53932ce40406d32ee52d125c25031eff657da0c922c115cbb39db79c0a54b6bc65c228cb0b741927f9cfdefbd0039d88d4262dc3e20759f4
6
+ metadata.gz: d1a08ac922777f9b2efb49695224eca2e7549c5efcc107caec26fcd484f7279f733559689bf261c7cf44aed1f58fd70201807adccceadce9cf4fd91b83cf47c4
7
+ data.tar.gz: b9f2004fbe397d06235b63f7633e6637dc46482c1d4868a484cc1aa3d7c8cc0faa98a4f5822871c9c76a032bb00605e60e667a5e110d9b5f1df6ff56bc7ddf83
@@ -1,7 +1,7 @@
1
1
 
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = "embulk-output-bigobject"
4
- spec.version = "0.3.3"
4
+ spec.version = "0.3.4"
5
5
  spec.authors = ["Cheng-Ching Huang"]
6
6
  spec.summary = "Bigobject output plugin for Embulk"
7
7
  spec.description = "Dumps records to Bigobject."
@@ -18,6 +18,7 @@ module Embulk
18
18
  "ncport" => config.param("ncport", :integer, :default => 9091), # integer, optional
19
19
  "table" => config.param("table", :string), # string, required
20
20
  "column_options" => config.param("column_options", :array, :default => []),
21
+ "payload_column_index" => config.param("payload_column_index", :integer, :default => nil),
21
22
  }
22
23
 
23
24
  task
@@ -44,7 +45,6 @@ module Embulk
44
45
  if response["Status"] == 0 then # the table exists
45
46
  Embulk.logger.debug { "#{response}" }
46
47
  elsif response["Status"] == -11 then # the table does not exist
47
- #response = rest_exec(task['rest_uri'], "#{create_botable_stmt("#{task['table']}",schema, task['co_map'])}")
48
48
  response = rest_exec(task['rest_uri'], "#{create_botable_stmt("#{task['table']}",schema, task["column_options"])}")
49
49
  if response["Status"] != 0 then
50
50
  Embulk.logger.error { "#{response}" }
@@ -62,7 +62,7 @@ module Embulk
62
62
  return next_config_diff
63
63
  end
64
64
 
65
- def safe_io_puts(buff)
65
+ def safe_io_write(buff)
66
66
  @@io ||= create_shared_io
67
67
  @@mutext ||= Mutex.new
68
68
  @@mutext.synchronize do
@@ -97,22 +97,45 @@ module Embulk
97
97
  def close
98
98
  end
99
99
 
100
- def add(page)
100
+ def add_csv(page)
101
101
  data = Array.new
102
102
 
103
- page.each do |records|
103
+ page.each do |record|
104
104
  values = []
105
- records.each do |row| values << "\"#{row.to_s.gsub(/\"/,"\"\"")}\"" end
106
- data.push "#{values.join(",")}"
105
+ record.each do |row| values << "\"#{row.to_s.gsub(/\"/,"\"\"")}\"" end
106
+ data.push "#{values.join(",")}\n"
107
107
  end
108
108
 
109
- safe_io_puts "#{data.join("\n")}"
109
+ safe_io_write "#{data.join}"
110
110
 
111
111
  @counter += data.length
112
112
  @task['ttl_counter'] += data.length
113
113
 
114
114
  end
115
115
 
116
+ def add_payload(page)
117
+ data = Array.new
118
+ pindex = @task['payload_column_index']
119
+
120
+ page.each do |record|
121
+ data.push "#{record[pindex]}\n"
122
+ end
123
+
124
+ safe_io_write "#{data.join}"
125
+
126
+ @counter += data.length
127
+ @task['ttl_counter'] += data.length
128
+
129
+ end
130
+
131
+ def add(page)
132
+ if (@task['payload_column_index'])
133
+ add_payload(page)
134
+ else
135
+ add_csv(page)
136
+ end
137
+ end
138
+
116
139
  def finish
117
140
  end
118
141
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-output-bigobject
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cheng-Ching Huang