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.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
pdb::PartitionTransformationComp< KeyClass, ValueClass > Class Template Referenceabstract

#include <PartitionTransformationComp.h>

+ Inheritance diagram for pdb::PartitionTransformationComp< KeyClass, ValueClass >:
+ Collaboration diagram for pdb::PartitionTransformationComp< KeyClass, ValueClass >:

Public Member Functions

virtual Lambda< KeyClass > getProjection (Handle< ValueClass > checkMe)=0
 
- Public Member Functions inherited from pdb::PartitionTransformationCompBase< KeyClass, ValueClass >
void extractLambdas (std::map< std::string, GenericLambdaObjectPtr > &returnVal) override
 
std::string getComputationType () override
 
ComputationTypeID getComputationTypeID () override
 
std::string getOutputType () override
 
std::string toTCAPString (std::string inputTupleSetName, std::vector< std::string > &inputColumnNames, std::vector< std::string > &inputColumnsToApply, std::vector< std::string > &childrenLambdaNames, int computationLabel, std::string &outputTupleSetName, std::vector< std::string > &outputColumnNames, std::string &addedOutputColumnName, std::string &myLambdaName) override
 
void setOutput (std::string dbName, std::string setName) override
 
void setBatchSize (int batchSize) override
 
std::string getDatabaseName () override
 
std::string getSetName () override
 
ComputeSourcePtr getComputeSource (TupleSpec &outputScheme, ComputePlan &plan) override
 
ComputeSinkPtr getComputeSink (TupleSpec &consumeMe, TupleSpec &projection, ComputePlan &plan) override
 
Handle< ScanUserSet< KeyClass > > & getOutputSetScanner ()
 
- Public Member Functions inherited from pdb::AbstractPartitionComp< KeyClass, ValueClass >
std::string getIthInputType (int i) override
 
int getNumInputs () override
 
std::string toTCAPString (std::vector< InputTupleSetSpecifier > &inputTupleSets, int computationLabel, std::string &outputTupleSetName, std::vector< std::string > &outputColumnNames, std::string &addedOutputColumnName) override
 
bool needsMaterializeOutput () override
 
void setNumPartitions (int numPartitions)
 
int getNumPartitions ()
 
void setNumNodes (int numNodes)
 
int getNumNodes ()
 
- Public Member Functions inherited from pdb::Computation
virtual ComputeSinkPtr getComputeSink (TupleSpec &consumeMe, TupleSpec &whichAttsToOpOn, TupleSpec &projection, ComputePlan &plan)
 
virtual SinkMergerPtr getSinkMerger (TupleSpec &consumeMe, TupleSpec &projection, ComputePlan &plan)
 
virtual SinkMergerPtr getSinkMerger (TupleSpec &consumeMe, TupleSpec &whichAttsToOpOn, TupleSpec &projection, ComputePlan &plan)
 
virtual SinkShufflerPtr getSinkShuffler (TupleSpec &consumeMe, TupleSpec &projection, ComputePlan &plan)
 JiaNote: add below interface for shuffling multiple join map sinks for hash partitioned join. More...
 
virtual SinkShufflerPtr getSinkShuffler (TupleSpec &consumeMe, TupleSpec &whichAttsToOpOn, TupleSpec &projection, ComputePlan &plan)
 
bool hasInput ()
 
Handle< Computation > & getIthInput (int i) const
 
int getNumConsumers ()
 
void setNumConsumers (int numConsumers)
 
bool setInput (Handle< Computation > toMe)
 
bool setInput (int whichSlot, Handle< Computation > toMe)
 
bool isTraversed ()
 
void setTraversed (bool traversed)
 
std::string getOutputTupleSetName ()
 
void setOutputTupleSetName (std::string outputTupleSetName)
 
std::string getOutputColumnToApply ()
 
void setOutputColumnToApply (std::string outputColumnToApply)
 
virtual bool isUsingCombiner ()
 
virtual void setUsingCombiner (bool useCombinerOrNot)
 
void setAllocatorPolicy (AllocatorPolicy myPolicy)
 
void setObjectPolicy (ObjectPolicy myPolicy)
 
AllocatorPolicy getAllocatorPolicy ()
 
ObjectPolicy getObjectPolicy ()
 
virtual void setCollectAsMap (bool collectAsMapOrNot)
 
virtual bool isCollectAsMap ()
 
virtual int getNumNodesToCollect ()
 
virtual void setNumNodesToCollect (int numNodesToCollect)
 
- Public Member Functions inherited from pdb::Object
void setVTablePtr (void *setToMe)
 
void * getVTablePtr ()
 
virtual void setUpAndCopyFrom (void *target, void *source) const
 
virtual void deleteObject (void *deleteMe)
 
virtual size_t getSize (void *ofMe)
 

Additional Inherited Members

- Static Public Member Functions inherited from pdb::Object
static void * operator new (size_t sz, const std::nothrow_t &tag)
 
static void * operator new (size_t sz)
 
static void operator delete (void *me)
 
static void * operator new (std::size_t count, void *ptr)
 
- Protected Attributes inherited from pdb::AbstractPartitionComp< KeyClass, ValueClass >
bool materializeSelectionOut = false
 
int numPartitions = 16
 
int numNodes = 2
 

Detailed Description

template<class KeyClass, class ValueClass>
class pdb::PartitionTransformationComp< KeyClass, ValueClass >

Definition at line 27 of file PartitionTransformationComp.h.

Member Function Documentation

template<class KeyClass , class ValueClass >
virtual Lambda<KeyClass> pdb::PartitionTransformationComp< KeyClass, ValueClass >::getProjection ( Handle< ValueClass >  checkMe)
pure virtual

the computation returned by this method is called to perfom a transformation on the input item before it is inserted into the output set to decide which partition the input item should be stored.

Parameters
checkMethe input element
Returns
: the output lambda tree used to apply to the input element

Implements pdb::PartitionTransformationCompBase< KeyClass, ValueClass >.


The documentation for this class was generated from the following file: