There is no "one-size-fits-all" technology
Building an analytic application that addresses real-time and batch analytics requirements requires a combination of the available technologies. The challenge becomes the integration of these various pieces, tuning the system to ensure consistent performance and scaling through the entire stack, and providing consistent management and monitoring across the entire stack.
Most analytics systems can be broken down into three stages of data flow in the system:
Various metrics are collected into counters. For example, number of requests per day. (Real-time)
Correlate metrics for a more aggregative system view. For example, analyze which features "hook" users. (Near real-time)
Use this information to run research and trend analysis over a period of time. (Batch map/reduce processing)