Class: Google::Apis::DataflowV1b3::SourceSplitRequest

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/dataflow_v1b3/classes.rb,
lib/google/apis/dataflow_v1b3/representations.rb,
lib/google/apis/dataflow_v1b3/representations.rb

Overview

Represents the operation to split a high-level Source specification into bundles (parts for parallel processing). At a high level, splitting of a source into bundles happens as follows: SourceSplitRequest is applied to the source. If it returns SOURCE_SPLIT_OUTCOME_USE_CURRENT, no further splitting happens and the source is used "as is". Otherwise, splitting is applied recursively to each produced DerivedSource. As an optimization, for any Source, if its does_not_need_splitting is true, the framework assumes that splitting this source would return SOURCE_SPLIT_OUTCOME_USE_CURRENT, and doesn't initiate a SourceSplitRequest. This applies both to the initial source being split and to bundles produced from it.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ SourceSplitRequest

Returns a new instance of SourceSplitRequest.



4776
4777
4778
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 4776

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#optionsGoogle::Apis::DataflowV1b3::SourceSplitOptions

Hints for splitting a Source into bundles (parts for parallel processing) using SourceSplitRequest. Corresponds to the JSON property options



4769
4770
4771
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 4769

def options
  @options
end

#sourceGoogle::Apis::DataflowV1b3::Source

A source that records can be read and decoded from. Corresponds to the JSON property source



4774
4775
4776
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 4774

def source
  @source
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4781
4782
4783
4784
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 4781

def update!(**args)
  @options = args[:options] if args.key?(:options)
  @source = args[:source] if args.key?(:source)
end