leesf commented on code in PR #5737:
URL: https://github.com/apache/hudi/pull/5737#discussion_r889010463
##########
hudi-spark-datasource/hudi-spark3/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark3Analysis.scala:
##########
@@ -45,16 +45,22 @@ case class HoodieSpark3Analysis(sparkSession: SparkSession)
extends Rule[Logical
with SparkAdapterSupport with ProvidesHoodieConfig {
override def apply(plan: LogicalPlan): LogicalPlan =
plan.resolveOperatorsDown {
- case dsv2 @ DataSourceV2Relation(d: HoodieInternalV2Table, _, _, _, _) =>
- val output = dsv2.output
- val catalogTable = if (d.catalogTable.isDefined) {
- Some(d.v1Table)
- } else {
- None
- }
- val relation = new DefaultSource().createRelation(new
SQLContext(sparkSession),
- buildHoodieConfig(d.hoodieCatalogTable))
- LogicalRelation(relation, output, catalogTable, isStreaming = false)
+ // NOTE: This step is required since Hudi relations don't currently
implement DS V2 Read API
+ case dsv2 @ DataSourceV2Relation(tbl: HoodieInternalV2Table, _, _, _, _) =>
+ val qualifiedTableName = QualifiedTableName(tbl.v1Table.database,
tbl.v1Table.identifier.table)
+ val catalog = sparkSession.sessionState.catalog
+
+ catalog.getCachedPlan(qualifiedTableName, () => {
Review Comment:
>
@vinothchandar revert back to v1 means drop `HoodieCatalog`? If so, I do not
think it is a good idea since users use 0.11.0 would use `HoodieCatalog` config
and will change the behavior if we drop the `HoodieCatalog` which is not a good
idea. and please see my comment
https://github.com/apache/hudi/pull/5737/files#r889018883 above
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]