Case study three. A customer had this interesting business requirement. The overall business requirement was to migrate to cloud and on-premise reporting solution aim to produce daily reports to regulators. The on-premise solution was coded using a SQL-like language and it was run on Hadoop Cluster using Spark and MapReduce. It leveraged proprietary third party software. The client wanted to optimize the target cloud solution to minimize changes to their processes and codebase, leverage PaaS, that's Platform as a Service, and native Cloud Solution, in other words, avoid the third party software, and significantly improved performance from hours to minutes. We map that technical requirement like this; business requirements: Minimum changes to their processes and codebase. Leverage PaaS, Platform as a Service, and native Cloud Solution, avoid the third-party software. Significantly improve performance from hours to minutes. And technical requirements: Programmatically converts SQL-like into ANSI SQL. No changes to source or target input structures. Automated black box regression testing. Minimize the number of system, interfaces, aim for full execution in BigQuery. We wanted to remove the need for a Hadoop Cluster if we could, and analyze and manually optimize the SQL code in BigQuery for performance. The financial reporting applications run either daily or monthly. So we knew that all we needed to do was to set up a pipeline to handle the requirements and then run the pipeline as required by their applications. This is how we implemented that technical requirement. Source data is ingested in cloud storage, no changes to sourcing. Output reports are generated entirely in BigQuery. Cloud Analytics allows users to review the reports. Data is egressed on-prem, so there's no changes to the target structures, no changes downstream. Logs and controls out of the box in Stackdriver. We ended up with a fairly simple solution. The most notable part is what's not in the picture and that's Hadoop. Recall that the customer's application that was performing the processing was on Hadoop with some MapReduce. We were able to port the data out of the Hadoop Cluster to Cloud Storage. Once it was in cloud storage, we found that the processing that was being done was simple enough that we were able to implement it in the processing front-end of BigQuery. This created the liquidity report they wanted and we were able to use this for analytics and Cloud Data Studio and for some analytics processing in Cloud Data Lab. The final reports are pushed first into cloud storage and then back into the on-prem storage. This was important because it meant no changes in their business processes were needed.