需要比较两个数据帧并创建第三个数据帧以产生差异。 在比较数据帧时,需要遵循一些条件。
DF1:(Struct type -> empid:IntegerType,name:StringType,phone:IntegerType)
empid|name|phone
1| amar | 12345
2| 23 |<blank>
DF2:我正在按其数据类型转换DF1。 (col(c).cast(datatype))
empid|name|phone
1| amar | 12345
2| null | null
由于名称是字符串类型,现在这里将其强制转换为null。另外,由于phone是整数,因此空格被强制转换为null。
我需要帮助来生成第三个数据框,它只应指出我的转换错误。如果我考虑所有的空值,那么我也不需要电话。请参见下面的预期DF3示例。
DF3:
empid|name|phone |error
1| amar | 12345 |null
2| 23 |<blank> |name is wrong data type