parqueteur 1.3.1 → 1.4.0

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
  SHA256:
3
- metadata.gz: 86f767a68e38cdd93da015e4ddfcda06b2eefe553ecb6d7a423b4cc0f2752183
4
- data.tar.gz: cd741b1d023e44fcc14c08192b9791b675339736527f47dbe2393e85bdff9d07
3
+ metadata.gz: 6efc312c6b66cee861b45a8384c5f5a7b14e6242c54b1bc3dc02f0c3d1b275ad
4
+ data.tar.gz: 633eeed8b83bbbb277672a30920052f8c9d48189896eb9ec4418d8b12c5fc179
5
5
  SHA512:
6
- metadata.gz: 58882a4d2d1ea5a0cb53f5643f96ac504352b87e6c1436d10841a616d2867bf127c70a31374f6ff2f455fb2894d29fe8cc439ca8a0efca5fe519c00ee312c8c5
7
- data.tar.gz: ac185e758d8c0fa19d11ac05e96f77f93cb8260e055d203d1d0d71dd04e0ff6db70d773824a8a6fe5c63e5f235ab179f3417ac689b590403b69192cbad0bde98
6
+ metadata.gz: 26b4113e8740452055413f25260179ff9688e4fc5cac882e1a192e646e2a2635b7fe76393032a37656103dcf797da22ad4f269e18db64f9e8d5ab0dd94375d02
7
+ data.tar.gz: 95e293e1233d247cdb43a3ed510c5f5a2e5bc35511260221cb4c2e55de0ecdde12607d1bd63fac6e12e7481f20ffea017526bf0650c500dcfec408a4c29a1fa3
data/Gemfile.lock CHANGED
@@ -1,32 +1,34 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- parqueteur (1.3.1)
5
- red-parquet (~> 5.0)
4
+ parqueteur (1.4.0)
5
+ red-parquet (~> 7.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- bigdecimal (3.0.2)
10
+ bigdecimal (3.1.2)
11
11
  extpp (0.1.0)
12
- gio2 (3.4.9)
13
- gobject-introspection (= 3.4.9)
14
- glib2 (3.4.9)
12
+ fiddle (1.1.0)
13
+ gio2 (3.5.1)
14
+ fiddle
15
+ gobject-introspection (= 3.5.1)
16
+ glib2 (3.5.1)
15
17
  native-package-installer (>= 1.0.3)
16
18
  pkg-config (>= 1.3.5)
17
- gobject-introspection (3.4.9)
18
- glib2 (= 3.4.9)
19
- native-package-installer (1.1.1)
20
- pkg-config (1.4.6)
19
+ gobject-introspection (3.5.1)
20
+ glib2 (= 3.5.1)
21
+ native-package-installer (1.1.4)
22
+ pkg-config (1.4.7)
21
23
  rake (13.0.6)
22
- red-arrow (5.0.0)
24
+ red-arrow (7.0.0)
23
25
  bigdecimal (>= 2.0.3)
24
26
  extpp (>= 0.0.7)
25
- gio2 (>= 3.4.5)
27
+ gio2 (>= 3.5.0)
26
28
  native-package-installer
27
29
  pkg-config
28
- red-parquet (5.0.0)
29
- red-arrow (= 5.0.0)
30
+ red-parquet (7.0.0)
31
+ red-arrow (= 7.0.0)
30
32
 
31
33
  PLATFORMS
32
34
  ruby
@@ -1,3 +1,4 @@
1
+ require 'securerandom'
1
2
  require 'bundler/setup'
2
3
  require 'parqueteur'
3
4
 
@@ -17,14 +18,16 @@ class FooParquetConverter < Parqueteur::Converter
17
18
  column :my_timestamp, :timestamp
18
19
  end
19
20
 
20
- data = 100.times.collect do |i|
21
+ data = 1000.times.collect do |i|
21
22
  {
22
23
  'id' => i,
23
24
  'my_string_array' => %w[a b c],
24
25
  'my_date' => Date.today,
25
26
  'my_decimal' => BigDecimal('0.03'),
26
27
  'my_int' => rand(1..10),
27
- 'my_map' => { 'a' => 'b' },
28
+ 'my_map' => 20.times.each_with_object({}) do |idx, hash|
29
+ hash["k_#{idx}"] = SecureRandom.urlsafe_base64(64)
30
+ end,
28
31
  'my_string' => 'Hello World',
29
32
  'my_struct' => {
30
33
  'my_struct_str' => 'Hello World',
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Parqueteur
4
4
  class Converter
5
- DEFAULT_BATCH_SIZE = 10
5
+ DEFAULT_BATCH_SIZE = 100
6
6
 
7
7
  def self.inline(&block)
8
8
  Class.new(self, &block)
@@ -4,18 +4,7 @@ module Parqueteur
4
4
  module Types
5
5
  class MapType < Parqueteur::Type
6
6
  def build_value_array(values)
7
- builder = Arrow::MapArrayBuilder.new(arrow_type)
8
- values.each do |entry|
9
- builder.append_value
10
- next if entry.nil?
11
-
12
- entry.each do |k, v|
13
- builder.key_builder.append(k)
14
- builder.item_builder.append(v)
15
- end
16
- end
17
-
18
- builder.finish
7
+ Arrow::MapArrayBuilder.build(arrow_type, values)
19
8
  end
20
9
 
21
10
  def arrow_type_builder
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Parqueteur
4
- VERSION = '1.3.1'
4
+ VERSION = '1.4.0'
5
5
  end
data/parqueteur.gemspec CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
 
31
31
  # Uncomment to register a new dependency of your gem
32
32
  # spec.add_dependency "example-gem", "~> 1.0"
33
- spec.add_dependency 'red-parquet', '~> 5.0'
33
+ spec.add_dependency 'red-parquet', '~> 7.0'
34
34
 
35
35
  # For more information and examples about making a new gem, checkout our
36
36
  # guide at: https://bundler.io/guides/creating_gem.html
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parqueteur
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien D.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-17 00:00:00.000000000 Z
11
+ date: 2022-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: red-parquet
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '5.0'
19
+ version: '7.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '5.0'
26
+ version: '7.0'
27
27
  description: Convert data to Parquet
28
28
  email:
29
29
  - julien@pocketsizesun.com
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  - !ruby/object:Gem::Version
92
92
  version: '0'
93
93
  requirements: []
94
- rubygems_version: 3.2.3
94
+ rubygems_version: 3.3.3
95
95
  signing_key:
96
96
  specification_version: 4
97
97
  summary: Parqueteur - A Ruby gem that convert data to Parquet