Let me first define the term 'real-time analysis' as it's often get people confused.
In my definition real-time analysis is the methodology of processing data arriving in time that allows incremental updates of the result. It is often called the online processing, or streaming data processing.
In contrast, the offline analysis is the methodology that assumes that the result can be computed only when all data becomes available. The offline data processing is also often called the batch data processing.
Intel(R) Data Analytics Acceleration Library supports both, offline and online analysis. Specifically all Intel DAAL algorithms support at least the offline analysis; in addition some support the online analysis also.
Online processing is extremely valuable when you want to implement the application that responds to a new data as soon as possible, i.e. somewhat in "real time", which, of course, has no relation to very specific definitions of hard real-time and soft real-time in RTOS.
But using online processing is useful even when your BIG data is mostly static. Indeed you may have a data set which does not fit in device memory. Using the online processing methodology you can stream the data in memory by small enough blocks and incrementally compute the result.
Intel DAAL package contains C++ and Java* examples that illustrate how to use this or that algorithm for batch, online, and distributed computing.