0

我有一个用例,我需要在 600 + 列上运行 3 个指标(完整性、熵和 countDistinct),查看 DAG,观察到指标是按顺序计算的。我将所有分析器添加到单个 AnalaysisRunner 对象并只进行一次运行调用,任何人都可以帮助了解如何在我的情况下使其并行以优化运行时间?

val analysisRunner = AnalysisRunner.onData(sourceData)

attributesList.foreach(attribute => {
          analysisRunner.addAnalyzer(Completeness(attribute))
          analysisRunner.addAnalyzer(Entropy(attribute))
          analysisRunner.addAnalyzer(CountDistinct(attribute))
        })

val analysisResult: AnalyzerContext = analysisRunner.run()
var attributesDataMetrics = successMetricsAsDataFrame(spark, analysisResult)

4

0 回答 0