In the examples you provide they can all be translated as ha estado or he estado, except the third one:
- It has been raining a lot recently = Ha estado lloviendo mucho últimamente (or maybe better "ha llovido mucho últimamente")
- I have been thinking about the exam all week = He estado pensando en el examen toda la semana
- I have been very busy with work lately = He estado muy ocupado con el trabajo últimamente
Your third case is a bit special, because "It's been a long time" is kind of different. It translates as "ha pasado mucho tiempo" or "hace mucho (tiempo)". So:
- It's been a long time since I've seen you = Hace mucho (tiempo) que no te veo
So, yes, in general have been translates as ha estado (or whatever person it is). I would say this applies to:
- have been + gerund
- have been + adjective
But there are some constructs, like "it's been a long time" that have a corresponding special construct in Spanish.
I must add that if what has been happening is still going on, or has just finished, you could say, for example:
- I have been waiting for an hour = Llevo una hora esperando
- Have you been doing that for a long time? = ¿Llevas mucho tiempo haciendo eso?