Packages

c

org.apache.spark.sql.rapids.execution

GpuBroadcastHashJoinMeta

class GpuBroadcastHashJoinMeta extends GpuBroadcastHashJoinMetaBase

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GpuBroadcastHashJoinMeta
  2. GpuBroadcastHashJoinMetaBase
  3. GpuBroadcastJoinMeta
  4. SparkPlanMeta
  5. RapidsMeta
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GpuBroadcastHashJoinMeta(join: BroadcastHashJoinExec, conf: RapidsConf, parent: Option[RapidsMeta[_, _, _]], rule: DataFromReplacementRule)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def addConvertedDataType(expression: Expression, typeMeta: DataTypeMeta): Unit

    Call this method to record information about type conversions via DataTypeMeta.

    Call this method to record information about type conversions via DataTypeMeta.

    Definition Classes
    RapidsMeta
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. val availableRuntimeDataTransition: Boolean

    Whether there exists runtime data transition for the wrapped plan, if true, the overriding of output attributes will always work even when the wrapped plan can't be replaced by GPU overrides.

    Whether there exists runtime data transition for the wrapped plan, if true, the overriding of output attributes will always work even when the wrapped plan can't be replaced by GPU overrides.

    Definition Classes
    SparkPlanMeta
  7. val buildSide: GpuBuildSide
    Definition Classes
    GpuBroadcastHashJoinMetaBase
  8. def canBuildSideBeReplaced(buildSide: SparkPlanMeta[_]): Boolean
    Definition Classes
    GpuBroadcastJoinMeta
  9. def canDataWriteCmdsBeReplaced: Boolean

    Returns true iff all of the data writing commands can be replaced.

    Returns true iff all of the data writing commands can be replaced.

    Definition Classes
    RapidsMeta
  10. def canExprTreeBeReplaced: Boolean

    Returns true iff all of the expressions and their children could be replaced.

    Returns true iff all of the expressions and their children could be replaced.

    Definition Classes
    RapidsMeta
  11. def canPartsBeReplaced: Boolean

    Returns true iff all of the partitioning can be replaced.

    Returns true iff all of the partitioning can be replaced.

    Definition Classes
    RapidsMeta
  12. def canScansBeReplaced: Boolean

    Returns true iff all of the scans can be replaced.

    Returns true iff all of the scans can be replaced.

    Definition Classes
    RapidsMeta
  13. final def canThisBeReplaced: Boolean

    Returns true iff this could be replaced.

    Returns true iff this could be replaced.

    Definition Classes
    RapidsMeta
  14. var cannotBeReplacedReasons: Option[Set[String]]
    Attributes
    protected
    Definition Classes
    RapidsMeta
  15. var cannotRunOnGpuBecauseOfCost: Boolean
    Attributes
    protected
    Definition Classes
    RapidsMeta
  16. var cannotRunOnGpuBecauseOfSparkPlan: Boolean
    Attributes
    protected
    Definition Classes
    RapidsMeta
  17. def checkExistingTags(): Unit

    When AQE is enabled and we are planning a new query stage, we need to look at meta-data previously stored on the spark plan to determine whether this operator can run on GPU

    When AQE is enabled and we are planning a new query stage, we need to look at meta-data previously stored on the spark plan to determine whether this operator can run on GPU

    Definition Classes
    SparkPlanMeta
  18. def checkTagForBuildSide(): Unit
    Definition Classes
    GpuBroadcastHashJoinMetaBase
  19. def checkTimeZoneId(sessionZoneId: ZoneId): Unit
    Definition Classes
    RapidsMeta
  20. val childDataWriteCmds: Seq[DataWritingCommandMeta[_]]

    The wrapped data writing commands that should be examined

    The wrapped data writing commands that should be examined

    Definition Classes
    SparkPlanMetaRapidsMeta
  21. val childExprs: Seq[BaseExprMeta[_]]

    The wrapped expressions that should be examined

    The wrapped expressions that should be examined

    Definition Classes
    GpuBroadcastHashJoinMetaBaseSparkPlanMetaRapidsMeta
  22. val childParts: Seq[PartMeta[_]]

    The wrapped partitioning that should be examined

    The wrapped partitioning that should be examined

    Definition Classes
    SparkPlanMetaRapidsMeta
  23. val childPlans: Seq[SparkPlanMeta[SparkPlan]]

    The wrapped plans that should be examined

    The wrapped plans that should be examined

    Definition Classes
    SparkPlanMetaRapidsMeta
  24. val childRunnableCmds: Seq[RunnableCommandMeta[_]]

    The wrapped runnable commands that should be examined.

    The wrapped runnable commands that should be examined.

    Definition Classes
    RapidsMeta
  25. val childScans: Seq[ScanMeta[_]]

    The wrapped scans that should be examined

    The wrapped scans that should be examined

    Definition Classes
    SparkPlanMetaRapidsMeta
  26. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  27. val conditionMeta: Option[BaseExprMeta[_]]
    Definition Classes
    GpuBroadcastHashJoinMetaBase
  28. val conf: RapidsConf
    Definition Classes
    RapidsMeta
  29. def confKey: String
    Definition Classes
    RapidsMeta
  30. final def convertIfNeeded(): SparkPlan

    If this is enabled to be converted to a GPU version convert it and return the result, else do what is needed to possibly convert the rest of the plan.

    If this is enabled to be converted to a GPU version convert it and return the result, else do what is needed to possibly convert the rest of the plan.

    Definition Classes
    SparkPlanMeta
  31. def convertToCpu(): SparkPlan

    Keep this on the CPU, but possibly convert its children under it to run on the GPU if enabled.

    Keep this on the CPU, but possibly convert its children under it to run on the GPU if enabled. By default this just returns what is wrapped by this. For some types of operators/stages, like SparkPlan, each part of the query can be converted independent of other parts. As such in a subclass this should be overridden to do the correct thing.

    Definition Classes
    SparkPlanMetaRapidsMeta
  32. def convertToGpu(): GpuExec

    Convert what this wraps to a GPU enabled version.

    Convert what this wraps to a GPU enabled version.

    Definition Classes
    GpuBroadcastHashJoinMetaGpuBroadcastHashJoinMetaBaseRapidsMeta
  33. final def costPreventsRunningOnGpu(): Unit
    Definition Classes
    RapidsMeta
  34. var cpuCost: Double
    Definition Classes
    SparkPlanMeta
  35. final val disabledMsg: Option[String]
    Definition Classes
    RapidsMeta
  36. final def entirePlanExcludedReasons: Set[String]

    Returns the list of reasons the entire plan can't be replaced.

    Returns the list of reasons the entire plan can't be replaced. An empty set means the entire plan is ok to be replaced, do the normal checking per exec and children.

    Definition Classes
    RapidsMeta
  37. final def entirePlanWillNotWork(because: String): Unit

    Call this if there is a condition found that the entire plan is not allowed to run on the GPU.

    Call this if there is a condition found that the entire plan is not allowed to run on the GPU.

    Definition Classes
    RapidsMeta
  38. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  39. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  40. var estimatedOutputRows: Option[BigInt]
    Definition Classes
    SparkPlanMeta
  41. def explain(all: Boolean): String
    Definition Classes
    RapidsMeta
  42. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  43. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  44. def getReasonsNotToReplaceEntirePlan: Set[String]
    Definition Classes
    SparkPlanMeta
  45. var gpuCost: Double
    Definition Classes
    SparkPlanMeta
  46. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  47. final val incompatDoc: Option[String]
    Definition Classes
    RapidsMeta
  48. def indent(append: StringBuilder, depth: Int): Unit
    Attributes
    protected
    Definition Classes
    RapidsMeta
  49. def initReasons(): Unit
    Definition Classes
    RapidsMeta
  50. def isDisabledByDefault: Boolean
    Definition Classes
    RapidsMeta
  51. def isIncompat: Boolean
    Definition Classes
    RapidsMeta
  52. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  53. val leftKeys: Seq[BaseExprMeta[_]]
    Definition Classes
    GpuBroadcastHashJoinMetaBase
  54. final def mustBeReplaced(because: String): Unit
    Definition Classes
    RapidsMeta
  55. final def mustThisBeReplaced: Boolean

    Returns true iff this must be replaced because its children have already been replaced and this needs to also be replaced for compatibility.

    Returns true iff this must be replaced because its children have already been replaced and this needs to also be replaced for compatibility.

    Definition Classes
    RapidsMeta
  56. val namedChildExprs: Map[String, Seq[BaseExprMeta[_]]]
  57. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  58. def noReplacementPossibleMessage(reasons: String): String
    Definition Classes
    RapidsMeta
  59. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  60. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  61. final val operationName: String
    Definition Classes
    RapidsMeta
  62. def outputAttributes: Seq[Attribute]

    Gets output attributes of current SparkPlanMeta, which is supposed to be called during type checking for the current plan.

    Gets output attributes of current SparkPlanMeta, which is supposed to be called during type checking for the current plan.

    By default, it simply returns the output of wrapped plan. For specific plans, they can override outputTypeMetas to apply custom conversions on the output of wrapped plan. For plans which just pass through the schema of childPlan, they can set useOutputAttributesOfChild to true, in order to propagate the custom conversions of childPlan if they exist.

    Definition Classes
    SparkPlanMeta
  63. lazy val outputTypeMetas: Option[Seq[DataTypeMeta]]

    Overrides this method to implement custom conversions for specific plans.

    Overrides this method to implement custom conversions for specific plans.

    Attributes
    protected
    Definition Classes
    SparkPlanMeta
  64. val parent: Option[RapidsMeta[_, _, _]]
    Definition Classes
    RapidsMeta
  65. def print(strBuilder: StringBuilder, depth: Int, all: Boolean): Unit

    Create a string representation of this in append.

    Create a string representation of this in append.

    strBuilder

    where to place the string representation.

    depth

    how far down the tree this is.

    all

    should all the data be printed or just what does not work on the GPU?

    Definition Classes
    RapidsMeta
  66. val printWrapped: Boolean

    When converting this to a string should we include the string representation of what this wraps too? This is off by default.

    When converting this to a string should we include the string representation of what this wraps too? This is off by default.

    Attributes
    protected
    Definition Classes
    RapidsMeta
  67. final def recursiveCostPreventsRunningOnGpu(): Unit

    Recursively force a section of the plan back onto CPU, stopping once a plan is reached that is already on CPU.

    Recursively force a section of the plan back onto CPU, stopping once a plan is reached that is already on CPU.

    Definition Classes
    RapidsMeta
  68. final def recursiveSparkPlanPreventsRunningOnGpu(): Unit
    Definition Classes
    RapidsMeta
  69. final def recursiveSparkPlanRemoved(): Unit
    Definition Classes
    RapidsMeta
  70. def replaceMessage: String
    Definition Classes
    RapidsMeta
  71. def requireAstForGpuOn(exprMeta: BaseExprMeta[_]): Unit
    Definition Classes
    SparkPlanMeta
  72. val rightKeys: Seq[BaseExprMeta[_]]
    Definition Classes
    GpuBroadcastHashJoinMetaBase
  73. def runAfterTagRules(): Unit

    Run rules that happen for the entire tree after it has been tagged initially.

    Run rules that happen for the entire tree after it has been tagged initially.

    Definition Classes
    SparkPlanMeta
  74. final def shouldBeRemoved(because: String): Unit
    Definition Classes
    RapidsMeta
  75. final def shouldThisBeRemoved: Boolean

    Returns true if this node should be removed.

    Returns true if this node should be removed.

    Definition Classes
    RapidsMeta
  76. def supportsColumnar: Boolean

    Returns whether the resulting SparkPlan supports columnar execution

    Returns whether the resulting SparkPlan supports columnar execution

    Definition Classes
    SparkPlanMetaRapidsMeta
  77. def suppressWillWorkOnGpuInfo: Boolean
    Definition Classes
    RapidsMeta
  78. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  79. def tagForExplain(): Unit
    Definition Classes
    SparkPlanMeta
  80. final def tagForGpu(): Unit

    Tag all of the children to see if they are GPU compatible first.

    Tag all of the children to see if they are GPU compatible first. Do basic common verification for the operators, and then call tagSelfForGpu

    Definition Classes
    RapidsMeta
  81. def tagPlanForGpu(): Unit

    Called to verify that this plan will work on the GPU.

    Called to verify that this plan will work on the GPU. Generic checks will have already been done. In general this method should only tag this operator as bad. If it needs to tag one of its children please take special care to update the comment inside tagSelfForGpu so we don't end up with something that could be cyclical.

    Definition Classes
    GpuBroadcastHashJoinMetaBaseSparkPlanMeta
  82. final def tagSelfForGpu(): Unit

    Do any extra checks and tag yourself if you are compatible or not.

    Do any extra checks and tag yourself if you are compatible or not. Be aware that this may already have been marked as incompatible for a number of reasons.

    All of your children should have already been tagged so if there are situations where you may need to disqualify your children for various reasons you may do it here too.

    Definition Classes
    SparkPlanMetaRapidsMeta
  83. def toString(): String
    Definition Classes
    RapidsMeta → AnyRef → Any
  84. val useOutputAttributesOfChild: Boolean

    Whether to pass through the outputAttributes of childPlan's meta, only for UnaryPlan

    Whether to pass through the outputAttributes of childPlan's meta, only for UnaryPlan

    Attributes
    protected
    Definition Classes
    SparkPlanMeta
  85. def verifyBuildSideWasReplaced(buildSide: SparkPlan): Unit
    Definition Classes
    GpuBroadcastJoinMeta
  86. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  87. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  88. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  89. final def willNotWorkOnGpu(because: String): Unit

    Call this to indicate that this should not be replaced with a GPU enabled version

    Call this to indicate that this should not be replaced with a GPU enabled version

    because

    why it should not be replaced.

    Definition Classes
    RapidsMeta
  90. val wrapped: BroadcastHashJoinExec
    Definition Classes
    RapidsMeta

Inherited from AnyRef

Inherited from Any

Ungrouped