fluent-plugin-kafka-enchanced 0.5.9 → 0.5.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5191424214f2a081b8ade27615726e5f1394f7ad
4
- data.tar.gz: 44d566152b37364fc44e2b44799d6cc51e2d9946
3
+ metadata.gz: fccd71b5e7d89f156703d465fe21780d44b333ce
4
+ data.tar.gz: 0cee930d56cf656c5c5c0826a8aced5ab14f92bc
5
5
  SHA512:
6
- metadata.gz: 358bbdc3f4d54783ac8f58ef9f54fbf42eb06222688748a6c66248c66e2d612fe6eb720bfa47c43a868fccd3e3cd93468aa15dec7c61f00564eae6a760e8eeee
7
- data.tar.gz: 7c992ff750ff15eb97e156b9839c69ed5dc1526f5570e67d74ad783685cccbd90f0d3a7c9fffae3c354e1d9b1898b2ac6a6dd270e412d034e8321f669970cf47
6
+ metadata.gz: f88b27ee87ce61afcffb47528a974ba4f10dc864c56d3e7ef6561d5faf0a9155f85651a1bf3602a6a4fd76792b38908cb94da9b001cd0ef653f50831c0e5c0c6
7
+ data.tar.gz: 76f4ada2526ef2e986ad89afdebe26a8721cd38407752abdba87f4406ecba4857515af1998d08fa42079eef80de1445dcdeadd1bc4daa009742f5c2ed5644a5f
@@ -12,7 +12,7 @@ Gem::Specification.new do |gem|
12
12
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
13
13
  gem.name = "fluent-plugin-kafka-enchanced"
14
14
  gem.require_paths = ["lib"]
15
- gem.version = '0.5.9'
15
+ gem.version = '0.5.10'
16
16
  gem.required_ruby_version = ">= 2.1.0"
17
17
 
18
18
  gem.add_dependency "fluentd", [">= 0.10.58", "< 2"]
@@ -70,8 +70,6 @@ DESC
70
70
  super
71
71
 
72
72
  require 'kafka'
73
- require "avro_turf"
74
- require "avro/builder"
75
73
 
76
74
  @kafka = nil
77
75
  end
@@ -144,14 +142,24 @@ DESC
144
142
  require 'yajl'
145
143
  Proc.new { |tag, time, record| Yajl::Encoder.encode(record) }
146
144
  elsif @output_data_type == 'avro'
147
- fields = JSON.parse(value).keys.map{|key| {'name' => key, 'type' => 'string'}}.to_s.gsub('=>', ':')
148
- schema_json =
149
- <<-JSON
150
- {"type": "record",
151
- "name": "#{topic}_value",
152
- "fields": #{fields}}
153
- JSON
154
- schema = Avro::Schema.parse(schema_json)
145
+ require "avro_turf"
146
+ require 'avro_turf/messaging'
147
+ require "avro/builder"
148
+ Proc.new do |tag, time, record|
149
+ record['enchilada_timestamp'] = (Time.new).strftime('%s%3N')
150
+ fields = record.keys.map{|key| {'name' => key, 'type' => 'string'}}
151
+ schema_name = "#{tag.to_s.gsub('.', '_')}"
152
+ schema_json = {
153
+ "type": "record",
154
+ "name": schema_name,
155
+ "fields": fields
156
+ }.to_json
157
+ schema = Avro::Schema.parse(schema_json)
158
+
159
+ avro = AvroTurf::Messaging.new(registry_url: @schema_registry)
160
+ # binding.pry
161
+ avro.encode(record.map{|key, value| [key, value.to_s]}.to_h, schema: schema, subject: "#{schema_name}-value")
162
+ end
155
163
  elsif @output_data_type == 'ltsv'
156
164
  require 'ltsv'
157
165
  Proc.new { |tag, time, record| LTSV.dump(record) }
@@ -182,6 +190,7 @@ DESC
182
190
  producer = @kafka.producer(@producer_opts)
183
191
 
184
192
  es.each do |time, record|
193
+ record = record.select{|key, value| key.present?}
185
194
  if @output_include_time
186
195
  if @time_format
187
196
  record['time'] = Time.at(time).strftime(@time_format)
@@ -213,3 +222,4 @@ DESC
213
222
 
214
223
  end
215
224
 
225
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-kafka-enchanced
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.9
4
+ version: 0.5.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paschenko Konstantin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-16 00:00:00.000000000 Z
11
+ date: 2017-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd