In this chapter, we explored the SQL-like Stream Analytics query language. We tried a wide variety of transformations using standard built-in functions, like substring and concatenation. We also used aggregate functions like sum, min, max, and count, and analytic functions for aggregating subsets of groups and comparing events to each other with first and lag. We worked with complex data types, parsing arrays and nested arrays, and reshaping them into a structured output. We then grouped events by windows of time for computing aggregates. Finally, we examined the time management policies used in Stream Analytics jobs to handle time-skewed events in streams. These SAQL techniques can be applied to enable the vast majority of streaming scenarios.
Now that we understand how to develop and implement SAQL query logic, in the next chapter, we will turn to scalability. We will learn about operationalizing Stream Analytics workloads from low to massive scales.