Package org.rumbledb.runtime
Class HybridRuntimeIterator
java.lang.Object
org.rumbledb.runtime.RuntimeIterator
org.rumbledb.runtime.HybridRuntimeIterator
- All Implemented Interfaces:
com.esotericsoftware.kryo.KryoSerializable
,Serializable
,RuntimeIteratorInterface
- Direct Known Subclasses:
AppendExpressionIterator
,ArrayDescendantFunctionIterator
,ArrayFlattenFunctionIterator
,ArrayLookupIterator
,ArrayMembersFunctionIterator
,ArrayUnboxingIterator
,AtomizationIterator
,CommaExpressionIterator
,ConstantRDDRuntimeIterator
,CreateCollectionIterator
,DeleteExpressionIterator
,DeleteIndexFromCollectionIterator
,DeleteSearchFromCollectionIterator
,DistinctValuesFunctionIterator
,DropColumnsIterator
,DynamicFunctionCallIterator
,EditCollectionIterator
,ExitStatementIterator
,FunctionItemCallIterator
,IfRuntimeIterator
,IndexOfFunctionIterator
,InsertBeforeFunctionIterator
,InsertExpressionIterator
,InsertIndexIntoCollectionIterator
,InsertSearchIntoCollectionIterator
,JsonLinesFunctionIterator
,ObjectDescendantFunctionIterator
,ObjectKeysFunctionIterator
,ObjectLookupIterator
,ObjectProjectFunctionIterator
,ObjectRemoveKeysFunctionIterator
,ObjectValuesFunctionIterator
,OneOrMoreIterator
,ParallelizeFunctionIterator
,PostfixLookupIterator
,PredicateIterator
,ProgramIterator
,RangeOperationIterator
,RDDRuntimeIterator
,RemoveFunctionIterator
,RenameExpressionIterator
,RepartitionFunctionIterator
,ReplaceExpressionIterator
,ReturnClauseSparkIterator
,ReverseFunctionIterator
,SimpleMapExpressionIterator
,SlashExprIterator
,StatementsWithExprIterator
,StaticUserDefinedFunctionCallIterator
,SubsequenceFunctionIterator
,SwitchRuntimeIterator
,TailFunctionIterator
,TransformExpressionIterator
,TreatIterator
,TruncateCollectionIterator
,TypePromotionIterator
,TypeswitchRuntimeIterator
,UnorderedFunctionIterator
,ValidateTypeIterator
,VariableReferenceIterator
- See Also:
-
Field Summary
FieldsFields inherited from class org.rumbledb.runtime.RuntimeIterator
children, currentDynamicContextForLocalExecution, FLOW_EXCEPTION_MESSAGE, hasNext, isOpen, isSequential, isUpdating, staticContext, staticURI
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
HybridRuntimeIterator
(List<RuntimeIterator> children, RuntimeStaticContext staticContext) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
protected abstract void
static org.apache.spark.api.java.JavaRDD<Item>
dataFrameToRDDOfItems
(JSoundDataFrame df, ExceptionMetadata metadata) protected void
fallbackToRDDIfDFNotImplemented
(ExecutionMode executionMode) org.apache.spark.api.java.JavaRDD<Item>
getRDD
(DynamicContext context) protected abstract org.apache.spark.api.java.JavaRDD<Item>
getRDDAux
(DynamicContext context) boolean
hasNext()
protected abstract boolean
protected boolean
protected boolean
protected boolean
void
materialize
(DynamicContext context, List<Item> result) Materialize the items of the iterator into the result list.materializeExactlyOneItem
(DynamicContext context) materializeFirstItemOrNull
(DynamicContext context) void
materializeNFirstItems
(DynamicContext context, List<Item> result, int n) next()
protected abstract Item
void
open
(DynamicContext context) protected abstract void
void
reset
(DynamicContext context) protected abstract void
Methods inherited from class org.rumbledb.runtime.RuntimeIterator
bindToVariableInDynamicContext, canProduceDataFrame, deepCopy, generateNativeQuery, getConfiguration, getDataFrame, getEffectiveBooleanValue, getEffectiveBooleanValueOrCheckPosition, getHighestExecutionMode, getMetadata, getOrCreateDataFrame, getPendingUpdateList, getStaticType, getVariableDependencies, isDataFrame, isLocal, isOpen, isRDD, isRDDOrDataFrame, isSequential, isSparkJobNeeded, isUpdating, materialize, materializeAtMostOneItemOrDefault, print, printToStandardError, read, setStaticContext, write
-
Field Details
-
result
-
-
Constructor Details
-
HybridRuntimeIterator
-
-
Method Details
-
implementsDataFrames
protected boolean implementsDataFrames() -
implementsLocal
protected boolean implementsLocal() -
implementsRDD
protected boolean implementsRDD() -
fallbackToRDDIfDFNotImplemented
-
open
- Specified by:
open
in interfaceRuntimeIteratorInterface
- Overrides:
open
in classRuntimeIterator
-
reset
- Specified by:
reset
in interfaceRuntimeIteratorInterface
- Overrides:
reset
in classRuntimeIterator
-
close
public void close()- Specified by:
close
in interfaceRuntimeIteratorInterface
- Overrides:
close
in classRuntimeIterator
-
hasNext
public boolean hasNext()- Specified by:
hasNext
in interfaceRuntimeIteratorInterface
- Overrides:
hasNext
in classRuntimeIterator
-
next
- Specified by:
next
in interfaceRuntimeIteratorInterface
- Specified by:
next
in classRuntimeIterator
-
getRDD
- Overrides:
getRDD
in classRuntimeIterator
-
dataFrameToRDDOfItems
public static org.apache.spark.api.java.JavaRDD<Item> dataFrameToRDDOfItems(JSoundDataFrame df, ExceptionMetadata metadata) -
materialize
Description copied from class:RuntimeIterator
Materialize the items of the iterator into the result list.- Overrides:
materialize
in classRuntimeIterator
- Parameters:
context
- the dynamic contextresult
- the list to materialize the items into. The list is cleared before the materialization.
-
materializeNFirstItems
- Overrides:
materializeNFirstItems
in classRuntimeIterator
-
materializeFirstItemOrNull
- Overrides:
materializeFirstItemOrNull
in classRuntimeIterator
-
materializeExactlyOneItem
public Item materializeExactlyOneItem(DynamicContext context) throws NoItemException, MoreThanOneItemException - Overrides:
materializeExactlyOneItem
in classRuntimeIterator
- Throws:
NoItemException
MoreThanOneItemException
-
materializeAtMostOneItemOrNull
- Overrides:
materializeAtMostOneItemOrNull
in classRuntimeIterator
- Throws:
MoreThanOneItemException
-
getRDDAux
-
openLocal
protected abstract void openLocal() -
closeLocal
protected abstract void closeLocal() -
resetLocal
protected abstract void resetLocal() -
hasNextLocal
protected abstract boolean hasNextLocal() -
nextLocal
-