how to overwrite two dataframe in get the result like below : i have two dataframes  DF1 and DF2 through pyspark, i want output like below.

DF1

Id|field_A|field_B|field_C|field_D
1 |cat    |12     |black  |1
2 |dog    |128    |white  |2

DF2

Id|field_A|field_B|field_C
1 |cat    |13     |blue   

OutPut required:-

DF3

Id|field_A|field_B|field_C|field_D
1 |cat    |13     |blue   |1
2 |dog    |128    |white  |2


i have tried through the join concept, but its not working through the below joins.

'inner', 
'outer', 
'full', 
'fullouter', 
'full_outer', 
'leftouter', 
'left', 
'left_outer', 
'rightouter', 
'right', 
'right_outer', 
'leftsemi', 
'left_semi',
'leftanti', 
'left_anti', 
'cross'.

DF3 = DF2.join(DF1, DF1.ID == DF2.ID,"leftouter")