The Fifth Elephant 2014

A conference on big data and analytics

Abishek Baskaran

@abishekbaskaran

Interactive analytics on event streams with complexly nested schemas

Submitted Jun 12, 2014

In this talk, I will share the lessons that we learnt while building an application for interactively analyzing data from event streams like twitter firehose, click streams, and application logs with complexly nested schemas.
I will discuss the challenges faced while implementing the whole analytics stack that has Kafka for data collection, Elasticsearch for realtime search, and Apache Drill for advanced interactive queries.

Outline

Of late, data driven organisations need a system that can answer ad-hoc and interactive queries over a mountain of data. An example is a data analyst at an e-commerce firm looking for insights on a product by doing ad-hoc queries on twitter stream data.

There are several challenges in building a solution for this use case. A single twitter firehose emits thousands of events per second. We need a system that can scale horizontally on demand, be highly available and provide high throughput. Additionally, the collector is secure and asynchronous so that the sources are not blocked. The variety of data that is being processed is the another challenge. Data can be structured, nested, schema-less or unstructured. Twitter stream generates around 200+ fields nested at multiple levels; also the schema can change with time. Finally, we need a distributed query processing engine that crunches these data at interactive speeds.

I will cover the various components one has to consider in building this tool, our evaluation on the technologies available, and benchmark results that we achieved.

Requirements

General knowledge on Big Data tools and technologies.

Speaker bio

Abishek is co-founder of a startup developing an interactive big data analytics application. He has more than seven years of experience in Databases and Big Data systems and has worked for Oracle and Goldman Sachs.

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

Jump starting better data engineering and AI futures