zillabyte 0.9.32 → 0.9.33

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDkwMGU0YTVhOTQxNDlhZGIzMThiMzkzYjk2MmNhNDY0MWQ3YjkwNQ==
4
+ YjU5NTNkMWYyM2NmMzcyZWI3NmQ5NTE1YzRkZDEzNzBiNzZiZjZiOQ==
5
5
  data.tar.gz: !binary |-
6
- M2Y2MzljODU4OGYzNjEzOGVhMjZlOTgwNzk3MmVmN2FjMmJmZjQ0ZA==
6
+ YzQ4Y2E0Y2Y0NGMzNWNkNWZkMDdmMDRhZTdlMmVjZTNjOGY1MjRiYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MGFjNTNkMjI2Y2U2ZTdlZjU1ODkzNzY3MDQ1OTNhYzUyYTM2ZDVlNDEzZjA5
10
- ZDQ5YmU0YWJkMzRkNTBlOTVkYWRlODQwYjlkYzhhOWI1NjkwNWRiZjgyZjNh
11
- N2Q2Yjc4MmUxNzRmMjg0ZjQxMGVlY2E5NTJhYzIzMGY5ZjI5NzY=
9
+ OGEzYzUwMDViMWFkMDc1NmM2M2RiYTZmNjg2YWM4ZTQ3MjY3NmZiMmQ3ZDM3
10
+ OWI2NmMzNDI4NDA4YzA0NjUxMjQ1ZTI5Zjc5ZTgyNDA2NjdkODVhYjE3MTNm
11
+ ZWUyZGNiOGE2N2JlOTRiMGEyZDBjNjQzNWIzNGJiZTY1OTA3OWM=
12
12
  data.tar.gz: !binary |-
13
- ZDMxMDA5YjM1MTJkZmJkZWU3ZjJlNjM1MGIzNjk3M2JkMzM1MGEwOTk3NTZh
14
- NjQ0M2E1YzljNWNjNGM3YWU0OGM3MTZmYjNiMjE5YmY0MWU0ZTFlOTQ0MzRm
15
- NzVkODc5ZDViNWM0YmQ1ZjQyZmE4YzAxNzllZTBlYjg0NGIwNjQ=
13
+ ZjlkMDk1YTk5MTU0Y2UyYWIzOGJmMGVhZDMyNGZiN2M4NjY5Mjk4ZTllODE3
14
+ YTg3MmQ0NzY1ZjRiNDA1YjVhMWU1NTdlN2QyMjg5MmMyOTZjZjNkYzFiOTlm
15
+ ZjJlODdkYTQ3MzEzZDc0ZWMzZWNhMDJmOTcyNGU5ZWIyYjEyODM=
@@ -1,19 +1,19 @@
1
1
  # OPERATION Component Input
2
2
  # TAGLINE
3
3
  # Declare the input of a component
4
- # HIGH_LEVEL_DESCRIPTION
4
+ # DESCRIPTION
5
5
  # Components work by declaring a “schema” of their inputs and outputs.
6
6
  # The inputs are the expected fields they will look for within incoming tuples.
7
7
  # In an example case, our component declares an input stream named “urls”, and will look for the “url” field of any incoming tuples.
8
8
  #
9
- # LANGUAGE_SYNTAX
9
+ # RUBY_SYNTAX
10
10
  # component.inputs do
11
11
  # name "input_stream_name"
12
12
  # field "field_1", :type_1
13
13
  # field "field_2", :type_2
14
14
  # end
15
15
  #
16
- # SYNTAX_NOTES
16
+ # RUBY_NOTES
17
17
  # "Inputs" stream "name" must be specified as a non-empty STRING with only alphanumeric and underscore characters!
18
18
  #
19
19
  # Field names must be non-empty STRINGS with only alphanumeric or underscore characters.
@@ -22,7 +22,7 @@
22
22
  #
23
23
  # Field types must be SYMBOLS. The following types are allowed :string, :integer, :float, :double, :boolean, :array and :map.
24
24
  #
25
- # EXAMPLE
25
+ # RUBY_EXAMPLE
26
26
  # require 'zillabyte'
27
27
  #
28
28
  # comp = Zillabyte.component("ruby_component")
@@ -1,16 +1,16 @@
1
1
  # OPERATION Component Output
2
2
  # TAGLINE
3
3
  # Declare the output of a component
4
- # HIGH_LEVEL_DESCRIPTION
4
+ # DESCRIPTION
5
5
  # In a similar manner to component inputs, we declare the component output schema for the component.
6
6
  # This determines the output of the component for other Zillabyte functions to expect. This is just like a sink in apps.
7
- # LANGUAGE_SYNTAX
7
+ # RUBY_SYNTAX
8
8
  # component_stream.outputs do
9
9
  # name "output_stream_name"
10
10
  # field "field_1", :type_1
11
11
  # field "field_2", :type_2
12
12
  # end
13
- # SYNTAX_NOTES
13
+ # RUBY_NOTES
14
14
  # "Outputs" stream "name" must be specified as a non-empty STRING with only alphanumeric and underscore characters!
15
15
  #
16
16
  # Field names must be non-empty STRINGS with only alphanumeric or underscore characters.
@@ -18,7 +18,7 @@
18
18
  # Field names cannot be "v[number]", "id", "confidence", "since" or "source" which are reserved Zillabyte names.
19
19
  #
20
20
  # Field types must be SYMBOLS. The following types are allowed :string, :integer, :float, :double, :boolean, :array and :map.
21
- # EXAMPLE
21
+ # RUBY_EXAMPLE
22
22
  # stream.outputs do
23
23
  # name "plural"
24
24
  # field "word", :string
@@ -1,13 +1,13 @@
1
1
  # OPERATION Each
2
2
  # TAGLINE
3
3
  # The each block can be thought of as a map operation that runs across multiple machines.
4
- # HIGH_LEVEL_DESCRIPTION
4
+ # DESCRIPTION
5
5
  # The `each` operation is the simplest operation within Zillabyte. It is analogous to the inner
6
6
  # block of a conventional "for" loop which is used to apply the same set of manipulations to
7
7
  # each record. Similarly, Zillabyte applies the same code logic specified in the each to each
8
8
  # tuple the operation receives.
9
9
  #
10
- # LANGUAGE_SYNTAX
10
+ # RUBY_SYNTAX
11
11
  # # Simplified syntax:
12
12
  #
13
13
  # stream.each do |tuple|
@@ -23,20 +23,22 @@
23
23
  # execute |=block=|
24
24
  # end
25
25
  #
26
- # SYNTAX_NOTES
26
+ # RUBY_NOTES
27
27
  # The simplified syntax can be used if a prepare block and other customizations are not needed.
28
28
  #
29
29
  # * **Note:** this syntax only works for a single output stream.
30
30
  #
31
31
  # The allowed output formats are :replace and :merge.
32
+ #
32
33
  # * **:replace** : discards the input tuple values and only emits the specified values. This is the default.
33
34
  # * **:merge** : re-emits the input tuple values along with the specified values.
34
35
  #
35
36
  # The "prepare" and "execute" blocks can be in do...end format or {} format.
37
+ #
36
38
  # * **"prepare"** block : where any setup is done to prepare for tuple processing in the "execute" block.
37
39
  # * **"execute"** block : where the tuples are actually processed. It must take in a single argument (the "tuple").
38
40
  #
39
- # EXAMPLE
41
+ # RUBY_EXAMPLE
40
42
  #
41
43
  # # This is a simple example which emits the url of a tuple
42
44
  # s = s.each do |tuple|
@@ -1,11 +1,11 @@
1
1
  # OPERATION Filter
2
2
  # TAGLINE
3
3
  # The filter is a conditional each.
4
- # HIGH_LEVEL_DESCRIPTION
4
+ # DESCRIPTION
5
5
  # Conditional expressions can be used to determine if a
6
6
  # tuple received by the operation is emitted.
7
7
  #
8
- # LANGUAGE_SYNTAX
8
+ # RUBY_SYNTAX
9
9
  # # Simplified syntax:
10
10
  # stream.filter do |tuple|
11
11
  # |=block=|
@@ -19,16 +19,17 @@
19
19
  # keep |=block=|
20
20
  # end
21
21
  #
22
- # SYNTAX_NOTES
22
+ # RUBY_NOTES
23
23
  # The simplified syntax can be used if a prepare block and other customizations are not needed.
24
24
  #
25
25
  # * **Note:** this syntax only works for a single output stream.
26
26
  #
27
27
  # The "prepare" and "keep" blocks can be in do...end format or {} format.
28
+ #
28
29
  # * **"prepare"** block : where any setup is done to prepare for tuple processing in the "keep" block.
29
30
  # * **"keep"** block : tuples pass through the filter if "keep" returns "True". It must take in a single argument (the "tuple").
30
31
  #
31
- # EXAMPLE
32
+ # RUBY_EXAMPLE
32
33
  # # Filter for simple string inclusion
33
34
  # stream = stream.filter { |tuple| tuple["url"].include? "hello world" }
34
35
  #
@@ -1,9 +1,10 @@
1
1
  # OPERATION Group By
2
+ # TAGLINE
2
3
  # Group tuples by keys
3
- # HIGH_LEVEL_DESCRIPTION
4
+ # DESCRIPTION
4
5
  # The `group_by` operation can be used to implement aggregation-type functions
5
6
  # such as counting and summing.
6
- # LANGUAGE_SYNTAX
7
+ # RUBY_SYNTAX
7
8
  # stream.group_by do
8
9
  # name "name" # optional
9
10
  # group_by "field_1", "field_2", ...
@@ -12,13 +13,15 @@
12
13
  # aggregate |=block=|
13
14
  # end_group |=block=|
14
15
  # end
15
- # SYNTAX_NOTES
16
+ # RUBY_NOTES
16
17
  #
17
18
  # The "begin_group", "aggregate" and "end_group" blocks can be in do...end format or {} format.
19
+ #
18
20
  # * **"begin_group"** block : where the initial values for the aggregation are set. It must take in a single argument (the "grouping tuple", which is emitted at the beginning of each group and contains the values of the fields specified in "group_by").
19
21
  # * **"aggregate"** block : where the aggregation is performed. It must take in a single argument (the "tuple").
20
22
  # * **"end_group"** block : where the final aggregated value is emitted.
21
- # EXAMPLE
23
+ #
24
+ # RUBY_EXAMPLE
22
25
  # # Declare the group_by, grouping on the :word field
23
26
  # stream = stream.group_by(:word) do
24
27
  #
@@ -1,12 +1,12 @@
1
1
  # OPERATION Call Component
2
2
  # TAGLINE
3
3
  # Call a component
4
- # HIGH_LEVEL_DESCRIPTION
4
+ # DESCRIPTION
5
5
  # Components can be embedded into other components or even applications.
6
6
  # When running an application that has an embedded component, that component is
7
7
  # joined into the same execution environment as its parent, allowing for high throughput component execution.
8
8
  # To embed a component, use the "call_component" operation
9
- # LANGUAGE_SYNTAX
9
+ # RUBY_SYNTAX
10
10
  # stream.call_component do
11
11
  # component_id "component_id"
12
12
  # name "name" # optional
@@ -14,21 +14,23 @@
14
14
  # outputs "output_stream_name_1", ...
15
15
  # output_format :replace OR :merge # optional, defaults to :replace
16
16
  # end
17
- # SYNTAX_NOTES
17
+ # RUBY_NOTES
18
18
  # The "component_id" MUST be given and correspond to the name or id listed in the output of "zillabyte components".
19
19
  #
20
20
  # The allowed output formats are :replace and :merge. Note that only linear components, i.e. those with only "each" and "filter" operations support :merge.
21
+ #
21
22
  # * **:replace** : discards the input tuple values and only emits the output values. This is the default.
22
23
  # * **:merge** : re-emits the input tuple values along with the output values.
23
24
  #
24
25
  # To correctly stich in the component, the implicit assumptions below WILL BE USED:
26
+ #
25
27
  # * The "stream" that "call_component" is invoked on MUST correspond to the first listed input stream to the component.
26
28
  # * The streams specified in "additional_inputs" MUST correspond to the other listed input streams in order.
27
29
  # * Tuples emitted from the preceeding operation MUST contain the fields listed for the corresponding component input streams.
28
30
  # * The streams specified in "outputs" must correspond to the listed output streams to the component in order.
29
31
  # * The number of input and output streams specified must match the number listed for the component.
30
32
  #
31
- # EXAMPLE
33
+ # RUBY_EXAMPLE
32
34
  # require 'zillabyte'
33
35
  # app = Zillabyte.app("plural_app")
34
36
  #
@@ -1,13 +1,14 @@
1
1
  # OPERATION Join
2
+ # TAGLINE
2
3
  # Join streams together
3
- # HIGH_LEVEL_DESCRIPTION
4
+ # DESCRIPTION
4
5
  # Joins allow you to combine two streams into one in a manner similar
5
6
  # to traditional relational systems. Realtime tuple data from a variety
6
7
  # of sources can be combined into a single stream via joins on specified
7
8
  # fields.
8
- # LANGUAGE_SYNTAX
9
+ # RUBY_SYNTAX
9
10
  # lhs_stream.join_with( rhs_stream_object, options )
10
- # SYNTAX_NOTES
11
+ # RUBY_NOTES
11
12
  # Options should be specified as a hash. The following keys are recognized:
12
13
  #
13
14
  # Mandatory:
@@ -15,9 +16,11 @@
15
16
  # * **"on"** : specifies the fields to join on. The value must be a STRING or a length-2 ARRAY. If value = a STRING, the LH and RH join fields will both be set to this STRING. If value = a length-2 ARRAY, the LH join field will be set to array[0] and the RH join field will be set to array[1].
16
17
  #
17
18
  # Optional:
19
+ #
18
20
  # * **"type"** : specifies the join type. The default is :left. Options are [:inner, :outer, :left, :right]
19
21
  # * **"emits"** : specifies the stream to emit. A "join" may only emit a single stream.
20
- # EXAMPLE
22
+ #
23
+ # RUBY_EXAMPLE
21
24
  #
22
25
  # # Left join on a shared field, in this case, an :owner_id
23
26
  # joined_stream = auto_stream.join_with(repairs_stream, :on => :owner_id)
@@ -1,17 +1,17 @@
1
1
  # OPERATION Sink
2
2
  # TAGLINE
3
3
  # The `sink` is a passive operation that defines the schema of the rows that need to be saved.
4
- # HIGH_LEVEL_DESCRIPTION
4
+ # DESCRIPTION
5
5
  # The `sink` marks the end of a stream. It saves the data it receives according to the schema defined within it.
6
6
  #
7
- # LANGUAGE_SYNTAX
7
+ # RUBY_SYNTAX
8
8
  # stream.sink do
9
9
  # name "name_of_relation"
10
10
  # column "field_1", :type_1
11
11
  # column "field_2", :type_2 ...
12
12
  # end
13
13
  #
14
- # SYNTAX_NOTES
14
+ # RUBY_NOTES
15
15
  # "Sink" relation "name" must be specified as a non-empty STRING with only alphanumeric and underscore characters!
16
16
  #
17
17
  # Field names must be non-empty STRINGS with only alphanumeric or underscore characters.
@@ -20,7 +20,8 @@
20
20
  #
21
21
  # Field types must be SYMBOLS. The following types are allowed :string, :integer, :float, :double, :boolean, :array and :map.
22
22
  #
23
- # EXAMPLE
23
+ # RUBY_EXAMPLE
24
+ #
24
25
  # stream.sink{
25
26
  # name "patent_sink"
26
27
  # column "doc_number", :integer
@@ -3,7 +3,7 @@
3
3
  # A source is where the data for your app originates and is defined
4
4
  # on the app object.
5
5
  #
6
- # HIGH_LEVEL_DESCRIPTION
6
+ # DESCRIPTION
7
7
  #
8
8
  # ## Sourcing From Datasets
9
9
  # The easiest way to stream data into a Zillabyte
@@ -20,7 +20,7 @@
20
20
  # and specifying any preparatory steps such as initializing global
21
21
  # values in the begin_cycle block.
22
22
  #
23
- # LANGUAGE_SYNTAX
23
+ # RUBY_SYNTAX
24
24
  # #Sourcing from a dataset:
25
25
  # app.source("dataset_name") # fetch a dataset from Zillabyte
26
26
  #
@@ -32,16 +32,19 @@
32
32
  # begin_cycle |=block=| # optional if no initialization needed
33
33
  # next_tuple |=block=| # The code to execute on each tuple fetch
34
34
  # end
35
- # SYNTAX_NOTES
35
+ # RUBY_NOTES
36
36
  #
37
37
  # The "end_cycle_policy" is used to specify when a cycle should end. Two options are available:
38
+ #
38
39
  # * **:null_emit** : end the cycle when a field contains "nil" or when nothing is emitted from the "next_tuple" block.
39
40
  # * **:explicit** : the end of a cycle is explicitly declared in the "next_tuple" block. This is done by including the "end_cycle" keyword in the "next_tuple" block, e.g. end_cycle if @queue.nil?.
40
41
  #
41
42
  # The "begin_cycle" and "next_tuple" blocks can be in do...end format or {} format.
43
+ #
42
44
  # * **"begin_cycle"** block : where any setup is done to initialize the content and quantity of tuples emitted by the "next_tuple" block.
43
45
  # * **"next_tuple"** block : where the tuples are actually emitted.
44
- # EXAMPLE
46
+ ##
47
+ # RUBY_EXAMPLE
45
48
  #
46
49
  # # Source from the "homepages" relation
47
50
  # stream = app.source("homepages")
@@ -1,3 +1,3 @@
1
1
  module Zillabyte
2
- VERSION = "0.9.32" unless defined?(VERSION)
2
+ VERSION = "0.9.33" unless defined?(VERSION)
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zillabyte
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.32
4
+ version: 0.9.33
5
5
  platform: ruby
6
6
  authors:
7
7
  - zillabyte
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-15 00:00:00.000000000 Z
11
+ date: 2014-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 0.9.32
33
+ version: 0.9.33
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: 0.9.32
40
+ version: 0.9.33
41
41
  description: The Official Zillabyte Gem
42
42
  email:
43
43
  - gem@zillabyte.com
@@ -92,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
92
  version: '0'
93
93
  requirements: []
94
94
  rubyforge_project:
95
- rubygems_version: 2.4.2
95
+ rubygems_version: 2.2.2
96
96
  signing_key:
97
97
  specification_version: 4
98
98
  summary: The Official Zillabyte Gem