Google Cloud Dataflow can analyze both streaming and batched data with the same programming models

Taking what many see as the next step in big data analysis, Google is previewing a service called Google Cloud Dataflow that analyzes live data, potentially giving users the ability to view trends and be alerted to events as they happen.

"There's an enormous amount of data being created, and so you need a way to ingest that in a more intelligent way," said Brian Goldfarb, Google Cloud Platform head of marketing. With big data, "the program models are different. The technologies are different. It requires developers to learn a lot and manage a lot to make it happen."

"It is a fully managed service that lets you create data pipelines for ingesting, transforming and analyzing arbitrary amounts of data in both batch or streaming mode, using the same programming model," Goldfarb said.

Google Cloud Dataflow is designed so the user can focus on devising proper analysis, without worrying about setting up and maintaining the underlying data piping and processing infrastructure.

It could be used for live sentiment analysis, for instance, where an organization estimates the popular sentiment around a product by scanning social networks such as Twitter. It could also be used as a security tool to watch activity logs for unusual activity.

"There are a bunch of different business applications in which it could apply. In a lot of data-centric verticals, like retail or oil and gas, a technology like this could open the door to getting analytics," Goldfarb said.

It could also be used an alternative to commercial ETL (extract, transform and load) programs, widely used to prepare data for analysis by business intelligence software.

Google Cloud Dataflow is based on technologies that the company built internally for its own use, following up on work it did on the MapReduce programming model, which is used in Apache Hadoop.

Live data stream analysis appears to be the next logical step in big data analysis, a field pioneered by Hadoop. Hadoop provides a way to analyze massive amounts of unstructured data spread across multiple servers. Originally, Hadoop used MapReduce as the platform to write programs that analyze the data.

MapReduce's limitation is that it can only analyze data in batch mode, which means all the data must be collected before it can be analyzed. A number of new software programs have been developed to get around the limitation of batch processing, such as Twitter Storm and Apache Spark, which are both available as open source and can run on Hadoop.

The service provides a software development kit that can be used to build complex pipelines and analysis. Like MapReduce, Cloud Dataflow will initially use the Java programming language. In the future, other languages may be supported.

The pipelines can ingest data from external sources and use them for a variety of things. The service provides a library to prepare and reformat data for further analysis, and users can write their own transformations.

The treated dataset can be queried against using Google's BigQuery service. Or the user can write modules to examine the data as it crosses the wire, to look for aberrant behavior or trends in real-time.

Google announced Cloud Dataflow at the company's Google I/O user conference in San Francisco. A small number of Google customers are testing it and the company plans to open it up as a public preview later this year.