Github user jackylk commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2444#discussion_r200560931
--- Diff:
datamap/mv/plan/src/main/scala/org/apache/carbondata/mv/plans/modular/Harmonizer.scala
---
@@ -36,17 +36,33 @@ abstract class Harmonizer(conf: SQLConf)
def batches: Seq[Batch] = {
Batch(
"Data Harmonizations", fixedPoint,
- HarmonizeDimensionTable,
- HarmonizeFactTable) :: Nil
+ Seq( HarmonizeDimensionTable) ++
+ extendedOperatorHarmonizationRules: _*) :: Nil
+// HarmonizeFactTable) :: Nil
}
+
+ /**
+ * Override to provide additional rules for the modular operator
harmonization batch.
+ */
+ def extendedOperatorHarmonizationRules: Seq[Rule[ModularPlan]] = Nil
+}
+
+/**
+ * A full Harmonizer - harmonize both fact and dimension tables
+ */
+object FullHarmonizer extends FullHarmonizer
+
+class FullHarmonizer extends Harmonizer(new SQLConf()) {
+ override def extendedOperatorHarmonizationRules: Seq[Rule[ModularPlan]] =
+ super.extendedOperatorHarmonizationRules ++ (HarmonizeFactTable :: Nil)
}
/**
- * An default Harmonizer
+ * A semi Harmonizer - harmonize dimension tables only
--- End diff --
Can you add description for semi harmonizer?
---