embulk-output-bigobject 0.3.4 → 0.4.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: e98e4ee288205d9e18ac9c3c4f22f29d01fcec5b
4
- data.tar.gz: b3f2aba9a693ae919281242ba1cd5f17fd5d1808
3
+ metadata.gz: 4a1f4e9350156b99f2607618762c641c774cd573
4
+ data.tar.gz: cfeb2e35a4d6d3ead4d5c4cd910e578e65f57f7a
5
5
  SHA512:
6
- metadata.gz: d1a08ac922777f9b2efb49695224eca2e7549c5efcc107caec26fcd484f7279f733559689bf261c7cf44aed1f58fd70201807adccceadce9cf4fd91b83cf47c4
7
- data.tar.gz: b9f2004fbe397d06235b63f7633e6637dc46482c1d4868a484cc1aa3d7c8cc0faa98a4f5822871c9c76a032bb00605e60e667a5e110d9b5f1df6ff56bc7ddf83
6
+ metadata.gz: 8423a4ac35e7ba3843cfd2da2ff7b0255390b78d3596e19e71565c496359ffdd4d814c734314a541b4550e4793e15ceba9468fc613e5fb6b04d96172c81811dd
7
+ data.tar.gz: 1374988497f7158f5c4f07aa159a91be58834c64c04521e74795f48acd8d57903b14a7ce53b27574d52b43a093e963bc8c705405f7445abdb256d05f0f50035d
@@ -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.4"
4
+ spec.version = "0.4.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."
@@ -17,6 +17,7 @@ module Embulk
17
17
  "restport" => config.param("restport", :integer, :default => 9090), # integer, optional
18
18
  "ncport" => config.param("ncport", :integer, :default => 9091), # integer, optional
19
19
  "table" => config.param("table", :string), # string, required
20
+ "rowcolumn" => config.param("rowcolumn", :string, :default => "ROW"), # string, optional
20
21
  "column_options" => config.param("column_options", :array, :default => []),
21
22
  "payload_column_index" => config.param("payload_column_index", :integer, :default => nil),
22
23
  }
@@ -45,7 +46,7 @@ module Embulk
45
46
  if response["Status"] == 0 then # the table exists
46
47
  Embulk.logger.debug { "#{response}" }
47
48
  elsif response["Status"] == -11 then # the table does not exist
48
- response = rest_exec(task['rest_uri'], "#{create_botable_stmt("#{task['table']}",schema, task["column_options"])}")
49
+ response = rest_exec(task['rest_uri'], "#{create_botable_stmt("#{task['table']}", "#{task['rowcolumn']}", schema, task["column_options"])}")
49
50
  if response["Status"] != 0 then
50
51
  Embulk.logger.error { "#{response}" }
51
52
  raise "Create table #{task['table']} in BigObject Failed"
@@ -97,29 +98,23 @@ module Embulk
97
98
  def close
98
99
  end
99
100
 
100
- def add_csv(page)
101
- data = Array.new
102
-
103
- page.each do |record|
104
- values = []
105
- record.each do |row| values << "\"#{row.to_s.gsub(/\"/,"\"\"")}\"" end
106
- data.push "#{values.join(",")}\n"
107
- end
108
-
109
- safe_io_write "#{data.join}"
110
-
111
- @counter += data.length
112
- @task['ttl_counter'] += data.length
113
-
114
- end
115
-
116
- def add_payload(page)
101
+ def add(page)
117
102
  data = Array.new
118
103
  pindex = @task['payload_column_index']
104
+ Embulk.logger.debug "#{pindex}"
119
105
 
120
- page.each do |record|
121
- data.push "#{record[pindex]}\n"
122
- end
106
+ if pindex
107
+ page.each do |record|
108
+ data.push "#{record[pindex]}\n"
109
+ Embulk.logger.debug "#{record[pindex]}\n"
110
+ end
111
+ else
112
+ page.each do |record|
113
+ values = []
114
+ record.each do |row| values << "\"#{row.to_s.gsub(/\"/,"\"\"")}\"" end
115
+ data.push "#{values.join(",")}\n"
116
+ end
117
+ end
123
118
 
124
119
  safe_io_write "#{data.join}"
125
120
 
@@ -128,14 +123,6 @@ module Embulk
128
123
 
129
124
  end
130
125
 
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
-
139
126
  def finish
140
127
  end
141
128
 
@@ -168,7 +155,7 @@ module Embulk
168
155
  end
169
156
  end
170
157
 
171
- def self.create_botable_stmt(tbl,schema, cos)
158
+ def self.create_botable_stmt(tbl,rowcol,schema, cos)
172
159
  val_array = Array.new
173
160
  schema.each do |c|
174
161
  co = cos[c.index] || {}
@@ -176,16 +163,16 @@ module Embulk
176
163
  val_array.push "#{co["name"] || c.name} #{to_bigobject_column_type(c.type.to_s, c.format.to_s, co)}"
177
164
  end
178
165
  bo_table_schema = val_array.join(',')
179
- Embulk.logger.debug {"schema (#{schema.class}): #{schema}"}
180
- Embulk.logger.debug {"schema: #{bo_table_schema}"}
166
+ #Embulk.logger.debug {"schema (#{schema.class}): #{schema}"}
167
+ #Embulk.logger.debug {"schema: #{bo_table_schema}"}
181
168
  keys = Array.new
182
169
  cos.each do |co|
183
170
  keys.push co["name"] if co["is_key"]
184
171
  end
185
172
  if keys.length == 0
186
- "CREATE TABLE #{tbl} (#{bo_table_schema})"
173
+ "CREATE TABLE #{tbl} #{rowcol} (#{bo_table_schema})"
187
174
  else
188
- "CREATE TABLE #{tbl} (#{bo_table_schema} KEY(#{keys.join(',')}))"
175
+ "CREATE TABLE #{tbl} #{rowcol} (#{bo_table_schema} KEY(#{keys.join(',')}))"
189
176
  end
190
177
  end
191
178
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-output-bigobject
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cheng-Ching Huang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-08 00:00:00.000000000 Z
11
+ date: 2016-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client