作者:V陈冬梅_717 | 来源:互联网 | 2022-12-05 16:51
如何解决《Spark:联合只能在具有兼容列类型的表上执行。Struct<名称,ID>!=Struct<ID,名称>》经验,请帮忙看看怎么搞?
错误:只能对具有兼容列类型的表执行联合。
struct(tier:string,skyward_number:string,skyward_points:string)<> struct(skyward_number:string,tier:string,skyward_points:string)在第二个表的第一列;
此处struct字段的顺序不同,但其余部分都相同。
dataframe1架构
root
|-- emcg_uuid: string (nullable = true)
|-- name: string (nullable = true)
|-- phone_no: string (nullable = true)
|-- dob: string (nullable = true)
|-- country: string (nullable = true)
|-- travel_type: string (nullable = true)
|-- gdpr_restricted_flg: string (nullable = false)
|-- gdpr_reason_code: string (nullable = false)
|-- document: map (nullable = true)
| |-- key: string
| |-- value: string (valueCOntainsNull= true)
|-- skyward: struct (nullable = false)
| |-- tier: string (nullable = false)
| |-- skyward_number: string (nullable = false)
| |-- skyward_points: string (nullable = false)
dataframe2 schema
root
|-- emcg_uuid: string (nullable = true)
|-- name: string (nullable = true)
|-- phone_no: string (nullable = true)
|-- dob: string (nullable = true)
|-- country: string (nullable = true)
|-- travel_type: string (nullable = true)
|-- gdpr_restricted_flg: string (nullable = true)
|-- gdpr_reason_code: string (nullable = true)
|-- document: map (nullable = true)
| |-- key: string
| |-- value: string (valueCOntainsNull= true)
|-- skyward: struct (nullable = false)
| |-- skyward_number: string (nullable = false)
| |-- tier: string (nullable = false)
| |-- skyward_points: string (nullable = false)
如何解决呢?