I was able to reproduce this error and it looks like the problem is the identical column name in your tableA and tableB. Namely, DateColumn is referenced in the subquery. Hive interprets this as a reference to the parent query which is not allowed (per limitation listed here). Essentially it's confused what you mean by this query due to overloaded column name.
To solve this, you can explicitly specify table names when referring to columns:
UPDATE tableA
SET tableA.ColA = "Value"
WHERE year(tableA.DateColumn) >= (
select (max(year(tableB.DateColumn))-1)
from tableB
)
Let me know if this works.
Regards,
Alex