apache-spark - 使用 dataframe.schema VS dataframe.printSchema() 比较 pyspark 模式

标签 apache-spark types pyspark apache-spark-sql pyspark-dataframes

我在尝试比较两个 pyspark 数据帧的架构时遇到了一个问题。

如果我使用 df1.schema == df2.schema,它有时会返回 True 但有时会返回 False(我确信模式匹配)

但是,当我使用 df1.printSchema() == df2.printSchema() 时,输出始终为 True

我知道 df.schema 的数据类型是 pyspark.sql.types.StructType,但为什么它有时会给出WRONG 比较结果?它是 pyspark 中的错误吗?

最佳答案

您可以使用以下命令。这也告诉哪些列是不同的,它整洁干净

set(df1.schema).symmetric_difference(set(df2.schema))

关于apache-spark - 使用 dataframe.schema VS dataframe.printSchema() 比较 pyspark 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63727599/

相关文章:

hadoop - Apache Spark 将文件与 SQL 数据进行比较

scala - Spark : Exception in thread "main" java. lang.VerifyError : class com. fastxml.jackson.module.scala.ser.ScalaIteratorSerializer

apache-spark - 在 Spark Mllib 中创建句子转换器模型

python - 使用 boto3 从 AWS Glue 获取表

apache-spark - Spark Streaming textFileStream 不支持通配符

python - 使用 PySpark Dataframe 的成对列操作(例如点积)

scala 类型问题 : SoftReference, ReferenceQueues, SoftHashMap

objective-c - 自定义 UTI 未在 App 中打开

c - 图像数据如何/为什么存储为 char - OpenCV

apache-spark - 如何将表转换为 Spark Dataframe