[HUDI-3221] Support querying a table as of a savepoint (#4720)
This commit is contained in:
@@ -27,7 +27,9 @@ import org.apache.spark.sql.hudi.SparkAdapter
|
||||
trait SparkAdapterSupport {
|
||||
|
||||
lazy val sparkAdapter: SparkAdapter = {
|
||||
val adapterClass = if (HoodieSparkUtils.isSpark3) {
|
||||
val adapterClass = if (HoodieSparkUtils.gteqSpark3_2) {
|
||||
"org.apache.spark.sql.adapter.Spark3_2Adapter"
|
||||
} else if (HoodieSparkUtils.isSpark3_0 || HoodieSparkUtils.isSpark3_1) {
|
||||
"org.apache.spark.sql.adapter.Spark3Adapter"
|
||||
} else {
|
||||
"org.apache.spark.sql.adapter.Spark2Adapter"
|
||||
|
||||
@@ -85,6 +85,16 @@ trait SparkAdapter extends Serializable {
|
||||
def getInsertIntoChildren(plan: LogicalPlan):
|
||||
Option[(LogicalPlan, Map[String, Option[String]], LogicalPlan, Boolean, Boolean)]
|
||||
|
||||
/**
|
||||
* if the logical plan is a TimeTravelRelation LogicalPlan.
|
||||
*/
|
||||
def isRelationTimeTravel(plan: LogicalPlan): Boolean
|
||||
|
||||
/**
|
||||
* Get the member of the TimeTravelRelation LogicalPlan.
|
||||
*/
|
||||
def getRelationTimeTravel(plan: LogicalPlan): Option[(LogicalPlan, Option[Expression], Option[String])]
|
||||
|
||||
/**
|
||||
* Create a Insert Into LogicalPlan.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user