【问题标题】:JavaPackage object is not callable error for pydeequ constraint suggestionJavaPackage 对象不是 pydeequ 约束建议的可调用错误
【发布时间】:2023-02-18 15:59:37
【问题描述】:

尝试在数据块上运行 PyDeequ 约束建议方法时出现“JavaPackage 对象不可调用”错误。

我曾尝试在 Apache Spark 3.1.2 集群和 Apache Spark 3.0.1 集群上运行这段代码,但没有成功。

suggestionResult = ConstraintSuggestionRunner(spark).onData(df).addConstraintRule(DEFAULT()).run()

print(suggestionResult)

请参阅所附的第二个屏幕截图以了解扩展的错误状态。

PyDeequ error screenshot

Expanded PyDeequ error screenshot

【问题讨论】:

    标签: apache-spark pyspark databricks


    【解决方案1】:

    我能够结合一些解决方案found here,以及其他解决方案,以克服 Azure Databricks 中的上述 JavaPackage 错误。以下是详细信息,如果对任何人都有帮助。

    this link,我下载了合适的 JAR 文件来匹配我的 Spark 版本。就我而言,那是deequ_2_0_1_spark_3_2.jar。然后,我在我的集​​群配置中的 Libraries 下使用 JAR 类型安装了这个文件。

    然后下面的工作,在笔记本的不同单元格中运行。

    %pip install pydeequ
    
    %sh export SPARK_VERSION=3.2.1
    
    df = spark.read.load("abfss://container-name@account.dfs.core.windows.net/path/to/data")
    
    from pyspark.sql import SparkSession
    
    import pydeequ
    
    spark = (SparkSession
        .builder
        .getOrCreate())
    
    from pydeequ.analyzers import *
    
    analysisResult = AnalysisRunner(spark) 
                        .onData(df) 
                        .addAnalyzer(Size()) 
                        .addAnalyzer(Completeness("column_name")) 
                        .run()
    
    analysisResult_df = AnalyzerContext.successMetricsAsDataFrame(spark, analysisResult)
    analysisResult_df.show()
    

    【讨论】:

      猜你喜欢
      • 2016-09-06
      • 1970-01-01
      • 2017-01-04
      • 2019-02-02
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 2020-02-24
      相关资源
      最近更新 更多