A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
|
#include <AdvancedPhysicalAbstractPipe.h>
Protected Attributes | |
AdvancedPhysicalAbstractAlgorithmPtr | selectedAlgorithm |
vector< AtomicComputationPtr > | pipeComputations |
size_t | id |
Handle< SetIdentifier > | sourceSetIdentifier |
Protected Attributes inherited from pdb::AbstractPhysicalNode | |
std::string | jobId |
Handle< ComputePlan > | computePlan |
LogicalPlanPtr | logicalPlan |
ConfigurationPtr | conf |
std::list < AbstractPhysicalNodePtr > | consumers |
std::list < AbstractPhysicalNodeWeakPtr > | producers |
AbstractPhysicalNodeWeakPtr | handle |
Additional Inherited Members | |
Protected Member Functions inherited from pdb::AbstractPhysicalNode | |
Handle< SetIdentifier > | getSetIdentifierFromComputation (Handle< Computation > computation) |
The base node of the advanced physical planning algorithm The whole planning starts with the analyze method
Definition at line 51 of file AdvancedPhysicalAbstractPipe.h.
pdb::AdvancedPhysicalAbstractPipe::AdvancedPhysicalAbstractPipe | ( | string & | jobId, |
const Handle< ComputePlan > & | computePlan, | ||
LogicalPlanPtr & | logicalPlan, | ||
ConfigurationPtr & | conf, | ||
vector< AtomicComputationPtr > & | pipeComputations, | ||
size_t | id | ||
) |
Definition at line 25 of file AdvancedPhysicalAbstractPipe.cc.
|
overridevirtual |
stats | |
nextStageID |
Implements pdb::AbstractPhysicalNode.
Definition at line 52 of file AdvancedPhysicalAbstractPipe.cc.
|
virtual |
Chain the previous pipe to this operator
previous | - the result of the previous pipe |
Definition at line 161 of file AdvancedPhysicalAbstractPipe.cc.
AdvancedPhysicalPipelineNodePtr pdb::AdvancedPhysicalAbstractPipe::getAdvancedPhysicalNodeHandle | ( | ) |
Return the handle to this object
Definition at line 238 of file AdvancedPhysicalAbstractPipe.cc.
|
overridevirtual |
Return the cost of the pipeline based on the source operator cost the : formula cost = number_of_bytes / 1000000
stats | - the statistics a about the sets |
Implements pdb::AbstractPhysicalNode.
Definition at line 214 of file AdvancedPhysicalAbstractPipe.cc.
|
overridevirtual |
Returns the identifier of this node. In the format of "node_{id}"
Implements pdb::AbstractPhysicalNode.
Definition at line 252 of file AdvancedPhysicalAbstractPipe.cc.
const vector< AtomicComputationPtr > & pdb::AdvancedPhysicalAbstractPipe::getPipeComputations | ( | ) | const |
Returns the atomic computations in this pipeline
Definition at line 265 of file AdvancedPhysicalAbstractPipe.cc.
AtomicComputationPtr pdb::AdvancedPhysicalAbstractPipe::getPipelineComputationAt | ( | size_t | idx | ) |
Get i-th atomic computation in this pipeline
index | return the requested atomic computation |
Definition at line 262 of file AdvancedPhysicalAbstractPipe.cc.
|
pure virtual |
Returns all the possible algorithms that can be used to execute the pipeline
Implemented in pdb::AdvancedPhysicalJoinSidePipe, pdb::AdvancedPhysicalStraightPipe, and pdb::AdvancedPhysicalAggregationPipe.
std::unordered_map< std::string, std::string > pdb::AdvancedPhysicalAbstractPipe::getProbingHashSets | ( | ) |
Returns a list of all the hash sets this pipe will probe (in the current implementation only one) This method assumes that all the children of this pipeline are JoinSidePipelines
Definition at line 345 of file AdvancedPhysicalAbstractPipe.cc.
const AdvancedPhysicalAbstractAlgorithmPtr & pdb::AdvancedPhysicalAbstractPipe::getSelectedAlgorithm | ( | ) | const |
Returns the the algorithm the we executed. If we did not executed any algorithm we return a null_ptr
Definition at line 234 of file AdvancedPhysicalAbstractPipe.cc.
const Handle< SetIdentifier > & pdb::AdvancedPhysicalAbstractPipe::getSourceSetIdentifier | ( | ) | const |
Definition at line 269 of file AdvancedPhysicalAbstractPipe.cc.
|
pure virtual |
Returns the type of this pipeline
Implemented in pdb::AdvancedPhysicalJoinSidePipe, pdb::AdvancedPhysicalStraightPipe, and pdb::AdvancedPhysicalAggregationPipe.
|
overridevirtual |
Does this pipeline have consumers
Implements pdb::AbstractPhysicalNode.
Definition at line 243 of file AdvancedPhysicalAbstractPipe.cc.
const bool pdb::AdvancedPhysicalAbstractPipe::isAggregating | ( | ) |
Returns true if this pipe is aggregating the results
Definition at line 199 of file AdvancedPhysicalAbstractPipe.cc.
|
virtual |
Is this algorithm able to chain to another algorithm. Chaining two algorithms means that we are executing their stages one after another
Definition at line 185 of file AdvancedPhysicalAbstractPipe.cc.
|
overridevirtual |
Returns true if the set provided is consumed by some later stage in the planning
set | - the set identifier of the set we want to check |
Implements pdb::AbstractPhysicalNode.
Definition at line 248 of file AdvancedPhysicalAbstractPipe.cc.
|
virtual |
If this operator is executed returns true false otherwise.
Definition at line 191 of file AdvancedPhysicalAbstractPipe.cc.
const bool pdb::AdvancedPhysicalAbstractPipe::isJoining | ( | ) |
Returns true if this pipeline is joining two sets
Definition at line 195 of file AdvancedPhysicalAbstractPipe.cc.
|
virtual |
Returns true if this is pipelinable
node |
Definition at line 87 of file AdvancedPhysicalAbstractPipe.cc.
bool pdb::AdvancedPhysicalAbstractPipe::isSource | ( | ) |
Returns true if this node is a source (starts with a ScanSet)
Definition at line 256 of file AdvancedPhysicalAbstractPipe.cc.
|
virtual |
Pipelines the provided pipeline to this pipeline
pipeline | - the pipeline we are providing |
Definition at line 125 of file AdvancedPhysicalAbstractPipe.cc.
|
virtual |
Out of all algorithms given to him this node picks one a proposes it
algorithms | - the algorithms that are available |
Definition at line 273 of file AdvancedPhysicalAbstractPipe.cc.
|
pure virtual |
Selects the output algorithm for the output of this pipeline
Implemented in pdb::AdvancedPhysicalJoinSidePipe, pdb::AdvancedPhysicalStraightPipe, and pdb::AdvancedPhysicalAggregationPipe.
void pdb::AdvancedPhysicalAbstractPipe::setSourceSetIdentifier | ( | const Handle< SetIdentifier > & | sourceSetIdentifier | ) |
sourceSetIdentifier |
Definition at line 341 of file AdvancedPhysicalAbstractPipe.cc.
|
protected |
The identifier of this node
Definition at line 232 of file AdvancedPhysicalAbstractPipe.h.
|
protected |
Contains all the atomic computations that make-up this pipe
Definition at line 227 of file AdvancedPhysicalAbstractPipe.h.
|
protected |
The algorithm we selected to execute this computation This is not null if it is executed false otherwise
Definition at line 222 of file AdvancedPhysicalAbstractPipe.h.
|
protected |
Source set associated with this node.
Definition at line 237 of file AdvancedPhysicalAbstractPipe.h.