SparkSql Catalyst扩展分析器,CatalystConf错误



我正试图用一些额外的规则来扩展SparkSQL Catalyst分析器。

我得到以下错误:

**""" trait CatalystConf in package catalyst cannot be accessed in package org.apache.spark.sql.catalyst """**

在我的尝试中,我正在做以下事情:

class CustomSQLContext(sc: SparkContext) extends SQLContext(sc) {
    val an = new CustomAnalyzer(Map("testRule" -> testRule),catalog,functionRegistry,conf)
    override lazy val analyzer: Analyzer = an
  }
class CustomAnalyzer(rules: Map[String, Rule[LogicalPlan]], catalog: Catalog, registery: FunctionRegistry, conf: CatalystConf )
    extends Analyzer( catalog, registery, conf) {
    ......
    override lazy val batches = my_batch.toSeq ++ default_batches ++ Nil
  }

有什么想法可以在没有这个错误的情况下将conf传递给customAnalyzer吗?

我不认为这是导入错误,因为它看到了包,但无法访问文件。

我试着将它作为SQLConf传递,但出现了一个未找到的错误,导入似乎不起作用。

谢谢!

该类是私有

package org.apache.spark.sql.catalyst
private[spark] trait CatalystConf {
  def caseSensitiveAnalysis: Boolean
}

如果自己的代码被放入org.apache.spark.sql.catalyst包中,那么使用几乎不受影响的代码的唯一方法就是。这没有吸引力。因此,您必须将相关代码复制到自己的包中,而不仅仅是扩展它。

相关内容

  • 没有找到相关文章

最新更新