I have been in a similar position. In case you stopped receiving your salary, you should bail immediately.
If you are being paid, start preparing to jump ship while continuing to work.
We had a similar problem building an ad network. We ended up logging events into a HDFS using Kafka. Backend for serving was built using Java (Go
Seems fine too). As for serving reports in real time, I don’t think that would be doable. We need up refreshing the reports every 30 minutes. Building these analytics views can be accomplished using Cassandra, Hive or ElephantDB or any other. People have used apache storm also.
You can look up the book Big Data principles by Nathan Marz for discussions on scalable architecture.
Disclosure: I did not code this. I only participated in architecture reviews.
I haven't worked with a functional language professionally.
Closest I came was with python which supports these constructs.
I suppose it comes down to trade offs when designing a language and for what purpose you use them.