【发布时间】:2018-05-30 16:29:49
【问题描述】:
我正在尝试比较 2 个数据框的架构。 基本上,列和类型是相同的,但“可为空”可以不同:
数据框 A
StructType(List(
StructField(ClientId,StringType,True),
StructField(PublicId,StringType,True),
StructField(ExternalIds,ArrayType(StructType(List(
StructField(AppId,StringType,True),
StructField(ExtId,StringType,True),
)),True),True),
....
数据框 B
StructType(List(
StructField(ClientId,StringType,True),
StructField(PublicId,StringType,False),
StructField(ExternalIds,ArrayType(StructType(List(
StructField(AppId,StringType,True),
StructField(ExtId,StringType,False),
)),True),True),
....
当我执行df_A.schema == df_B.schema 时,显然是False。
但是我想忽略“nullable”参数,不管是false还是true,如果结构相同,应该返回True。
有可能吗?
【问题讨论】:
-
把所有的假换成真然后比较
-
A 和 B 由 2 个不同的进程生成。我无法改变它们。我只是想比较一下
标签: apache-spark pyspark