|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectgr.uoa.di.madgik.searchlibrary.operatorlibrary.join.JoinOp
public class JoinOp
Operator class used to perform a hash inner join on its input and produces an output holding the joined results.
The operator can also function as part of an intersection operation if its RecordGenerationPolicy is set
to RecordGenerationPolicy.KeepLeft (or, less commonly to RecordGenerationPolicy.KeepRight.
If not set, the RecordGenerationPolicy is equal to RecordGenerationPolicy.Concatenate which yields
standard inner join functionality.
| Field Summary | |
|---|---|
static int |
BufferCapacityDef
The default capacity of the RecordWriters and, if applicable, of all IRecordReaders' buffers |
Map<IndexPair,Integer> |
producerDefinitionMap
A mapping from pairs of definition indices to producer definition indices. |
static RecordGenerationPolicy |
recordGenerationPolicyDef
The default record generation policy. |
static long |
TimeoutDef
The default timeout |
static TimeUnit |
TimeUnitDef
The default time unit |
| Constructor Summary | |
|---|---|
JoinOp(URI leftLocator,
URI rightLocator,
RecordGenerationPolicy recordGenerationPolicy,
long timeout,
TimeUnit timeUnit,
int bufferCapacity,
StatsContainer stats)
Creates a new JoinOp with configurable timeout |
|
JoinOp(URI leftLocator,
URI rightLocator,
RecordGenerationPolicy recordGenerationPolicy,
long timeout,
TimeUnit timeUnit,
StatsContainer stats)
Creates a new JoinOp with configurable timeout |
|
JoinOp(URI leftLocator,
URI rightLocator,
RecordGenerationPolicy recordGenerationPolicy,
StatsContainer stats)
|
|
JoinOp(URI leftLocator,
URI rightLocator,
StatsContainer stats)
Creates a new JoinOp with the default timeout |
|
| Method Summary | |
|---|---|
URI |
compute(String leftKeyFieldName,
String rightKeyFieldName)
Performs the join operation |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final RecordGenerationPolicy recordGenerationPolicyDef
RecordGenerationPolicy.Concatenate which corresponds
to the standard inner join policy
public static final long TimeoutDef
public static final TimeUnit TimeUnitDef
public static final int BufferCapacityDef
RecordWriters and, if applicable, of all IRecordReaders' buffers
public Map<IndexPair,Integer> producerDefinitionMap
RecordGenerationPolicy.Concatenate
| Constructor Detail |
|---|
public JoinOp(URI leftLocator,
URI rightLocator,
StatsContainer stats)
JoinOp with the default timeout
leftLocator - The locator of the left inputrightLocator - The locator of the right inputstats - statistics
public JoinOp(URI leftLocator,
URI rightLocator,
RecordGenerationPolicy recordGenerationPolicy,
StatsContainer stats)
leftLocator - The locator of the left inputrightLocator - The locator of the right inputrecordGenerationPolicy - The record generation policy that should be followed. RecordGenerationPolicy.Concatenate should be used for standard inner
join functionality. RecordGenerationPolicy.KeepLeft should be used if the client wishes to use the operator as the first
step an intersection operation, the second one being a duplicate elimination step. RecordGenerationPolicy.KeepRight, if used
for the same reason as the former, should yield the same results and is included for completeness.stats - Statistics
public JoinOp(URI leftLocator,
URI rightLocator,
RecordGenerationPolicy recordGenerationPolicy,
long timeout,
TimeUnit timeUnit,
StatsContainer stats)
JoinOp with configurable timeout
leftLocator - The locator of the left inputrightLocator - The locator of the right inputrecordGenerationPolicy - The record generation policy that should be followed. RecordGenerationPolicy.Concatenate should be used for standard inner
join functionality. RecordGenerationPolicy.KeepLeft should be used if the client wishes to use the operator as the first
step an intersection operation, the second one being a duplicate elimination step. RecordGenerationPolicy.KeepRight, if used
for the same reason as the former, should yield the same results and is included for completeness.timeout - The timeout which will be used by the two RandomReaders and the RecordWritertimeUnit - The unit of the timeoutstats - Statistics
public JoinOp(URI leftLocator,
URI rightLocator,
RecordGenerationPolicy recordGenerationPolicy,
long timeout,
TimeUnit timeUnit,
int bufferCapacity,
StatsContainer stats)
JoinOp with configurable timeout
leftLocator - The locator of the left inputrightLocator - The locator of the right inputrecordGenerationPolicy - The record generation policy that should be followed. RecordGenerationPolicy.Concatenate should be used for standard inner
join functionality. RecordGenerationPolicy.KeepLeft should be used if the client wishes to use the operator as the first
step an intersection operation, the second one being a duplicate elimination step. RecordGenerationPolicy.KeepRight, if used
for the same reason as the former, should yield the same results and is included for completeness.timeout - The timeout which will be used by the two RandomReaders and the RecordWritertimeUnit - The unit of the timeoutbufferCapacity - The capacity of the buffer which will be used by the RecordWriter and all RandomReaders (if applicable)stats - Statistics| Method Detail |
|---|
public URI compute(String leftKeyFieldName,
String rightKeyFieldName)
throws Exception
type - The type of resource to createleftKeyFieldName - The name of the Field of the join key originating from the left locatorrightKeyFieldName - The name of the Field of the join key origiating from the right locator
Exception - An unrecoverable for the operation error occured
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||