package sql
- Alphabetic
- Public
- All
Type Members
- case class DropIgnoreNonexistent(session: SparkSession) extends Rule[LogicalPlan] with Product with Serializable
-
case class
FinalStageConfigIsolation(session: SparkSession) extends Rule[SparkPlan] with Product with Serializable
This rule split stage into two parts:
This rule split stage into two parts:
- previous stage 2. final stage For final stage, we can inject extra config. It's useful if we use repartition to optimize small files that needs bigger shuffle partition size than previous.
Let's say we have a query with 3 stages, then the logical machine like:
Set/Reset Command -> cleanup previousStage config if user set the spark config. Query -> AQE -> stage1 -> preparation (use previousStage to overwrite spark config) -> AQE -> stage2 -> preparation (use spark config) -> AQE -> stage3 -> preparation (use finalStage config to overwrite spark config, store spark config to previousStage.)
An example of the new finalStage config:
spark.sql.adaptive.advisoryPartitionSizeInBytes->spark.sql.finalStage.adaptive.advisoryPartitionSizeInBytes - case class FinalStageConfigIsolationCleanRule(session: SparkSession) extends Rule[LogicalPlan] with Product with Serializable
- class KyuubiSQLExtensionException extends SQLException
- class KyuubiSparkSQLAstBuilder extends KyuubiSparkSQLBaseVisitor[AnyRef] with SQLConfHelper
-
class
KyuubiSparkSQLBaseListener extends KyuubiSparkSQLListener
This class provides an empty implementation of
KyuubiSparkSQLListener, which can be extended to create a listener which only needs to handle a subset of the available methods. -
class
KyuubiSparkSQLBaseVisitor[T] extends AbstractParseTreeVisitor[T] with KyuubiSparkSQLVisitor[T]
This class provides an empty implementation of
KyuubiSparkSQLVisitor, which can be extended to create a visitor which only needs to handle a subset of the available methods. - class KyuubiSparkSQLCommonExtension extends (SparkSessionExtensions) ⇒ Unit
-
class
KyuubiSparkSQLExtension extends (SparkSessionExtensions) ⇒ Unit
Depend on Spark SQL Extension framework, we can use this extension follow steps
Depend on Spark SQL Extension framework, we can use this extension follow steps
- move this jar into $SPARK_HOME/jars
2. add config into
spark-defaults.conf:spark.sql.extensions=org.apache.kyuubi.sql.KyuubiSparkSQLExtension
- move this jar into $SPARK_HOME/jars
2. add config into
-
class
KyuubiSparkSQLLexer extends Lexer
- Annotations
- @SuppressWarnings()
-
trait
KyuubiSparkSQLListener extends ParseTreeListener
This interface defines a complete listener for a parse tree produced by
KyuubiSparkSQLParser. -
class
KyuubiSparkSQLParser extends Parser
- Annotations
- @SuppressWarnings()
- abstract class KyuubiSparkSQLParserBase extends ParserInterface with SQLConfHelper
-
trait
KyuubiSparkSQLVisitor[T] extends ParseTreeVisitor[T]
This interface defines a complete generic visitor for a parse tree produced by
KyuubiSparkSQLParser. -
case class
RebalanceBeforeWritingDatasource(session: SparkSession) extends RepartitionBeforeWritingDatasourceBase with RepartitionBuilderWithRebalance with Product with Serializable
For datasource table, there two commands can write data to table 1.
For datasource table, there two commands can write data to table 1. InsertIntoHadoopFsRelationCommand 2. CreateDataSourceTableAsSelectCommand This rule add a RebalancePartitions node between write and query
-
case class
RebalanceBeforeWritingHive(session: SparkSession) extends RepartitionBeforeWritingHiveBase with RepartitionBuilderWithRebalance with Product with Serializable
For Hive table, there two commands can write data to table 1.
For Hive table, there two commands can write data to table 1. InsertIntoHiveTable 2. CreateHiveTableAsSelectCommand This rule add a RebalancePartitions node between write and query
- trait RepartitionBeforeWriteHelper extends Rule[LogicalPlan]
-
abstract
class
RepartitionBeforeWritingDatasourceBase extends Rule[LogicalPlan] with RepartitionBuilder
For datasource table, there two commands can write data to table 1.
For datasource table, there two commands can write data to table 1. InsertIntoHadoopFsRelationCommand 2. CreateDataSourceTableAsSelectCommand This rule add a repartition node between write and query
-
abstract
class
RepartitionBeforeWritingHiveBase extends Rule[LogicalPlan] with RepartitionBuilder
For Hive table, there two commands can write data to table 1.
For Hive table, there two commands can write data to table 1. InsertIntoHiveTable 2. CreateHiveTableAsSelectCommand This rule add a repartition node between write and query
- trait RepartitionBuilder extends Rule[LogicalPlan] with RepartitionBeforeWriteHelper
- trait RepartitionBuilderWithRebalance extends Rule[LogicalPlan] with RepartitionBuilder
- class SparkKyuubiSparkSQLParser extends KyuubiSparkSQLParserBase
-
trait
UnparsedExpressionLogicalPlan extends LogicalPlan
a logical plan contains an unparsed expression that will be parsed by spark.
- case class UnparsedPredicateOptimize(tableIdent: Seq[String], tablePredicate: Option[String], orderExpr: Expression) extends LogicalPlan with UnparsedExpressionLogicalPlan with Product with Serializable
- class UpperCaseCharStream extends CharStream
Value Members
- object FinalStageConfigIsolation extends Serializable
-
object
InferRebalanceAndSortOrders
Infer the columns for Rebalance and Sort to improve the compression ratio.
Infer the columns for Rebalance and Sort to improve the compression ratio.
For example
INSERT INTO TABLE t PARTITION(p='a') SELECT * FROM t1 JOIN t2 on t1.c1 = t2.c1the inferred columns are: t1.c1
-
object
InsertShuffleNodeBeforeJoin extends Rule[SparkPlan]
Insert shuffle node before join if it doesn't exist to make
OptimizeSkewedJoinworks. -
object
KyuubiEnsureRequirements extends Rule[SparkPlan]
Copy from Apache Spark
EnsureRequirementsCopy from Apache Spark
EnsureRequirements- remove reorder join predicates 2. remove shuffle pruning
- object KyuubiSQLConf
- object KyuubiSparkSQLCommonExtension
- object WriteUtils