org.apache.spark.sql.cassandra.execution
CassandraDirectJoinStrategy 
            Companion class CassandraDirectJoinStrategy
          
      object CassandraDirectJoinStrategy extends Logging with Serializable
- Alphabetic
- By Inheritance
- CassandraDirectJoinStrategy
- Serializable
- Serializable
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        !=(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ##(): Int
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ==(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        aliasMap(aliases: Seq[NamedExpression]): Map[String, ExprId]
      
      
      Map Source Cassandra Column Names to ExpressionIds referring to them 
- 
      
      
      
        
      
    
      
        
        def
      
      
        allPartitionKeysAreJoined(plan: LogicalPlan, joinKeys: Seq[Expression]): Boolean
      
      
      Every partition key column must be a join key 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        asInstanceOf[T0]: T0
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        clone(): AnyRef
      
      
      - Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        containsSafePlans(plan: LogicalPlan): Boolean
      
      
      Checks whether a logical plan contains only Filters, Aliases and CassandraSource Relations 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        eq(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        equals(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
-  def getAlias(expr: NamedExpression): Seq[(String, ExprId)]
-  def getCassandraScan(plan: LogicalPlan): Option[CassandraScan]
- 
      
      
      
        
      
    
      
        
        def
      
      
        getCassandraTable(plan: LogicalPlan): Option[CassandraTable]
      
      
      Checks whether there is only a single leaf to this plan and that the leaf is a CassandraTable. Checks whether there is only a single leaf to this plan and that the leaf is a CassandraTable. If it is returns that table. 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        getClass(): Class[_]
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getDSV2CassandraRelation(plan: LogicalPlan): Option[DataSourceV2ScanRelation]
      
      
      Checks whether there is only a single leaf to this plan and that the leaf is a DSV2 Relation Reading from a C* table. Checks whether there is only a single leaf to this plan and that the leaf is a DSV2 Relation Reading from a C* table. If it is returns that table. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getScanExec(plan: SparkPlan): Option[BatchScanExec]
      
      
      Returns the single DataSourceScanExec for the branch if there is one and it scans Cassandra 
- 
      
      
      
        
      
    
      
        
        def
      
      
        hasCassandraChild[T <: QueryPlan[T]](plan: T): Boolean
      
      
      Checks whether a query plan has either a logical or physical node pulling data from cassandra 
- 
      
      
      
        
      
    
      
        
        def
      
      
        hashCode(): Int
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        isInstanceOf[T0]: Boolean
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        isTraceEnabled(): Boolean
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        log: Logger
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        logDebug(msg: ⇒ String, throwable: Throwable): Unit
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        logDebug(msg: ⇒ String): Unit
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        logError(msg: ⇒ String, throwable: Throwable): Unit
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        logError(msg: ⇒ String): Unit
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        logInfo(msg: ⇒ String, throwable: Throwable): Unit
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        logInfo(msg: ⇒ String): Unit
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        logName: String
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        logTrace(msg: ⇒ String, throwable: Throwable): Unit
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        logTrace(msg: ⇒ String): Unit
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        logWarning(msg: ⇒ String, throwable: Throwable): Unit
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        logWarning(msg: ⇒ String): Unit
      
      
      - Attributes
- protected
- Definition Classes
- Logging
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ne(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notify(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notifyAll(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        reorderPlan(plan: SparkPlan, directJoin: CassandraDirectJoinExec, originalOutput: Seq[Attribute]): SparkPlan
      
      
      Given our target Cassandra based branch, we remove the node which draws data from cassandra (DataSourceScanExec) and replace it with the passed directJoin plan instead. Given our target Cassandra based branch, we remove the node which draws data from cassandra (DataSourceScanExec) and replace it with the passed directJoin plan instead. INPUT : //directJoin: DirectJoinPlan// DirectJoin <-- GetKeyOperations //plan: Optimized CassandraScanBranch/ OtherOperations <-- CassandraScan OUTPUT: OtherOperations <-- DirectJoin <-- GetKeyOperations The output of (plan) is not changed, but its children should be changed. This should only be called on optimized Physical Plans 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        synchronized[T0](arg0: ⇒ T0): T0
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toString(): String
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        validJoinBranch(plan: LogicalPlan, keys: Seq[Expression]): Boolean
      
      
      Checks whether the Plan contains only acceptable logical nodes and all partition keys are joined 
-  def validJoinType(cassandraSide: BuildSide, joinType: JoinType): Boolean
- 
      
      
      
        
      
    
      
        
        val
      
      
        validJoins: Map[BuildSide, Seq[JoinType]]
      
      
      Currently we will only support Inner, LeftOuter and RightOuter joins Depending on the side of the CassandraTarget different joins are allowed. 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long, arg1: Int): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
Deprecated Value Members
- 
      
      
      
        
      
    
      
        
        def
      
      
        finalize(): Unit
      
      
      - Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated @deprecated
- Deprecated
- (Since version ) see corresponding Javadoc for more information.