Github user zzcclp commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/1469#discussion_r152725691
  
    --- Diff: 
integration/spark2/src/main/scala/org/apache/spark/sql/CarbonSession.scala ---
    @@ -42,15 +42,46 @@ class CarbonSession(@transient val sc: SparkContext,
         this(sc, None)
       }
     
    +
    +  // SessionStateCodeGenerateFactory.init(sc.version)
    +  // CarbonOptimizerCodeGenerateFactory.init(sc.version)
    +  // val carbonDefaultOptimizer = 
CarbonOptimizerCodeGenerateFactory.getInstance()
    +  //  .carbonoptimizerFactory.createCarbonOptimizer()
    +  //  @transient
    +  //  override lazy val sessionState: SessionState = new 
CarbonSessionState(this)
    +
    +
    +
    +  def getSessionState(sparkContext: SparkContext): SessionState = {
    +    if (sparkContext.version.contains("2.1")) {
    +      val clazz = 
Utils.classForName("org.apache.spark.sql.hive.CarbonSessionState")
    +      val ctor = clazz.getConstructors.head
    +      ctor.setAccessible(true)
    +      val sessionState1 = ctor.newInstance(this).asInstanceOf[SessionState]
    +      sessionState1
    +    } else if (sparkContext.version.contains("2.2")) {
    --- End diff --
    
    use sparkContext.version.startsWith("2.2")


---

Reply via email to