SlideShare a Scribd company logo
1 of 74
Download to read offline
Storm
The Real-Time Layer Your Big
    Data’s Been Missing


        Dan Lynn
      dan@fullcontact.com
          @danklynn
Keeps Contact Information Current and Complete


  Based in Denver, Colorado




                              CTO & Co-Founder
                               dan@fullcontact.com
                                   @danklynn
Turn Partial Contacts
 Into Full Contacts
Your data is old
Old data is confusing
First, there was the spreadsheet
Next, there was SQL
Then, there wasn’t SQL
Batch Processing
        =
   Stale Data
Streaming
Computation
Queues / Workers
Queues / Workers




Messages
Messages
 Messages
 Messages
  Messages
  Messages          Queue
   Messages




                                 Workers
Queues / Workers
Me ssage rou ting
can be com ple x
 Messages
 Messages
  Messages
  Messages
   Messages
   Messages          Queue
    Messages




                                  Workers
Queues / Workers
Brittle
Hard to scale
Queues / Workers
Queues / Workers
Queues / Workers
Queues / Workers
Rou ting mus t be
reco nfig ured whe n
sca ling out
Storm
Storm
Distributed and fault-tolerant real-time computation
Storm
Distributed and fault-tolerant real-time computation
Storm
Distributed and fault-tolerant real-time computation
Storm
Distributed and fault-tolerant real-time computation
Key Concepts
Tuples
Ordered list of elements
Tuples
           Ordered list of elements


("search-01384", "e:dan@fullcontact.com")
Streams
Unbounded sequence of tuples
Streams
        Unbounded sequence of tuples

Tuple    Tuple   Tuple   Tuple   Tuple   Tuple
Spouts
 Source of streams
Spouts
 Source of streams
Spouts  Source of streams

Tuple   Tuple   Tuple   Tuple   Tuple   Tuple
Spouts can talk with




               some images from http://commons.wikimedia.org
Spouts can talk with


•Queues




                     some images from http://commons.wikimedia.org
Spouts can talk with


•Queues

•Web logs




                      some images from http://commons.wikimedia.org
Spouts can talk with


•Queues

•Web logs

•API calls




                       some images from http://commons.wikimedia.org
Spouts can talk with


•Queues

•Web logs

•API calls

•Event data


                       some images from http://commons.wikimedia.org
Bolts
Process tuples and create new streams
Bolts



                                                                                             Tuple
                                                                                    Tuple
                                                                           Tuple
                                                                  Tuple
                                                         Tuple
                                                Tuple

Tuple   Tuple   Tuple   Tuple   Tuple   Tuple
                                                 Tuple
                                                          Tuple
                                                                   Tuple
                                                                            Tuple
                                                                                     Tuple
                                                                                             Tuple




                                                                               some images from http://commons.wikimedia.org
Bolts




        some images from http://commons.wikimedia.org
Bolts


•Apply functions / transforms




                     some images from http://commons.wikimedia.org
Bolts


•Apply functions / transforms
•Filter




                     some images from http://commons.wikimedia.org
Bolts


•Apply functions / transforms
•Filter
•Aggregation




                       some images from http://commons.wikimedia.org
Bolts


•Apply functions / transforms
•Filter
•Aggregation
•Streaming joins




                       some images from http://commons.wikimedia.org
Bolts


•Apply functions / transforms
•Filter
•Aggregation
•Streaming joins
•Access DBs, APIs, etc...


                       some images from http://commons.wikimedia.org
Topologies
A directed graph of Spouts and Bolts
This is a Topology




               some images from http://commons.wikimedia.org
This is also a topology




                 some images from http://commons.wikimedia.org
Tasks
Processes which execute Streams or Bolts
Running a Topology




$ storm jar my-code.jar com.example.MyTopology arg1 arg2
Storm Cluster




                Nathan Marz
Storm Cluster
If thi s we re
Hadoo p...




                                 Nathan Marz
Storm Cluster
If thi s we re
Hadoo p...




Job Tracke r
                                 Nathan Marz
Storm Cluster
If thi s we re
Hadoo p...




         Tas k Tracke rs         Nathan Marz
Storm Cluster

But it’s not Hado op




Coo rdi nates eve ry thi ng
                                       Nathan Marz
Example:
Streaming Word Count
Streaming Word Count


TopologyBuilder builder = new TopologyBuilder();

builder.setSpout("sentences", new RandomSentenceSpout(), 5);
builder.setBolt("split", new SplitSentence(), 8)
        .shuffleGrouping("sentences");
builder.setBolt("count", new WordCount(), 12)
        .fieldsGrouping("split", new Fields("word"));
Streaming Word Count


TopologyBuilder builder = new TopologyBuilder();

builder.setSpout("sentences", new RandomSentenceSpout(), 5);
builder.setBolt("split", new SplitSentence(), 8)
        .shuffleGrouping("sentences");
builder.setBolt("count", new WordCount(), 12)
        .fieldsGrouping("split", new Fields("word"));
Streaming Word Count
public static class SplitSentence extends ShellBolt implements IRichBolt {
        
    public SplitSentence() {
        super("python", "splitsentence.py");
    }

    @Override
    public void declareOutputFields(OutputFieldsDeclarer declarer) {
        declarer.declare(new Fields("word"));
    }

    @Override
    public Map<String, Object> getComponentConfiguration() {
        return null;
    }
}


                                                                   SplitSentence.java
Streaming Word Count
public static class SplitSentence extends ShellBolt implements IRichBolt {
        
    public SplitSentence() {
        super("python", "splitsentence.py");
    }

    @Override
    public void declareOutputFields(OutputFieldsDeclarer declarer) {
        declarer.declare(new Fields("word"));
    }

    @Override
    public Map<String, Object> getComponentConfiguration() {
        return null;
    }
}


                                                                        SplitSentence.java




                                                     splitsentence.py
Streaming Word Count
public static class SplitSentence extends ShellBolt implements IRichBolt {
        
    public SplitSentence() {
        super("python", "splitsentence.py");
    }

    @Override
    public void declareOutputFields(OutputFieldsDeclarer declarer) {
        declarer.declare(new Fields("word"));
    }

    @Override
    public Map<String, Object> getComponentConfiguration() {
        return null;
    }
}


                                                                   SplitSentence.java
Streaming Word Count


TopologyBuilder builder = new TopologyBuilder();

builder.setSpout("sentences", new RandomSentenceSpout(), 5);
builder.setBolt("split", new SplitSentence(), 8)
        .shuffleGrouping("sentences");
builder.setBolt("count", new WordCount(), 12)
        .fieldsGrouping("split", new Fields("word"));



                                                               java
Streaming Word Count
public static class WordCount extends BaseBasicBolt {
    Map<String, Integer> counts = new HashMap<String, Integer>();

    @Override
    public void execute(Tuple tuple, BasicOutputCollector collector) {
        String word = tuple.getString(0);
        Integer count = counts.get(word);
        if(count==null) count = 0;
        count++;
        counts.put(word, count);
        collector.emit(new Values(word, count));
    }

    @Override
    public void declareOutputFields(OutputFieldsDeclarer declarer) {
        declarer.declare(new Fields("word", "count"));
    }
}
                                                                    WordCount.java
Streaming Word Count


 TopologyBuilder builder = new TopologyBuilder();

 builder.setSpout("sentences", new RandomSentenceSpout(), 5);
 builder.setBolt("split", new SplitSentence(), 8)
         .shuffleGrouping("sentences");
 builder.setBolt("count", new WordCount(), 12)
         .fieldsGrouping("split", new Fields("word"));



                                                                java



Gro upings con tro l how tup les are rou ted
Shuffle grouping
Tuples are randomly distributed across all of the
             tasks running the bolt
Fields grouping
Groups tuples by specific named fields and routes
             them to the same task
o p’s
                    ado r
               t o H av i o
          o us b e h
An a lo g i ng
   rt i t io n
pa
              Fields grouping
     Groups tuples by specific named fields and routes
                  them to the same task
Distributed RPC
Before Distributed RPC,
time-sensitive queries relied on a
      pre-computed index
What if you didn’t need an index?
Distributed RPC
Try it out!

Huge thanks to Nathan Marz - @nathanmarz

   http://github.com/nathanmarz/storm

https://github.com/nathanmarz/storm-starter
             @stormprocessor
Questions?
 dan@fullcontact.com

More Related Content

What's hot

Learning Stream Processing with Apache Storm
Learning Stream Processing with Apache StormLearning Stream Processing with Apache Storm
Learning Stream Processing with Apache StormEugene Dvorkin
 
Introduction to Apache Storm - Concept & Example
Introduction to Apache Storm - Concept & ExampleIntroduction to Apache Storm - Concept & Example
Introduction to Apache Storm - Concept & ExampleDung Ngua
 
Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013
Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013
Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013Sonal Raj
 
Slide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache StormSlide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache StormMd. Shamsur Rahim
 
PHP Backends for Real-Time User Interaction using Apache Storm.
PHP Backends for Real-Time User Interaction using Apache Storm.PHP Backends for Real-Time User Interaction using Apache Storm.
PHP Backends for Real-Time User Interaction using Apache Storm.DECK36
 
Storm presentation
Storm presentationStorm presentation
Storm presentationShyam Raj
 
Cassandra and Storm at Health Market Sceince
Cassandra and Storm at Health Market SceinceCassandra and Storm at Health Market Sceince
Cassandra and Storm at Health Market SceinceP. Taylor Goetz
 
Real-Time Big Data at In-Memory Speed, Using Storm
Real-Time Big Data at In-Memory Speed, Using StormReal-Time Big Data at In-Memory Speed, Using Storm
Real-Time Big Data at In-Memory Speed, Using StormNati Shalom
 
Apache Storm and twitter Streaming API integration
Apache Storm and twitter Streaming API integrationApache Storm and twitter Streaming API integration
Apache Storm and twitter Streaming API integrationUday Vakalapudi
 
Streams processing with Storm
Streams processing with StormStreams processing with Storm
Streams processing with StormMariusz Gil
 
Real time and reliable processing with Apache Storm
Real time and reliable processing with Apache StormReal time and reliable processing with Apache Storm
Real time and reliable processing with Apache StormAndrea Iacono
 
Real-time Big Data Processing with Storm
Real-time Big Data Processing with StormReal-time Big Data Processing with Storm
Real-time Big Data Processing with Stormviirya
 

What's hot (20)

Learning Stream Processing with Apache Storm
Learning Stream Processing with Apache StormLearning Stream Processing with Apache Storm
Learning Stream Processing with Apache Storm
 
Introduction to Apache Storm
Introduction to Apache StormIntroduction to Apache Storm
Introduction to Apache Storm
 
Introduction to Apache Storm - Concept & Example
Introduction to Apache Storm - Concept & ExampleIntroduction to Apache Storm - Concept & Example
Introduction to Apache Storm - Concept & Example
 
Yahoo compares Storm and Spark
Yahoo compares Storm and SparkYahoo compares Storm and Spark
Yahoo compares Storm and Spark
 
Introduction to Storm
Introduction to StormIntroduction to Storm
Introduction to Storm
 
Storm and Cassandra
Storm and Cassandra Storm and Cassandra
Storm and Cassandra
 
Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013
Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013
Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013
 
Storm
StormStorm
Storm
 
Storm Anatomy
Storm AnatomyStorm Anatomy
Storm Anatomy
 
Slide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache StormSlide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache Storm
 
PHP Backends for Real-Time User Interaction using Apache Storm.
PHP Backends for Real-Time User Interaction using Apache Storm.PHP Backends for Real-Time User Interaction using Apache Storm.
PHP Backends for Real-Time User Interaction using Apache Storm.
 
Storm presentation
Storm presentationStorm presentation
Storm presentation
 
Cassandra and Storm at Health Market Sceince
Cassandra and Storm at Health Market SceinceCassandra and Storm at Health Market Sceince
Cassandra and Storm at Health Market Sceince
 
Storm
StormStorm
Storm
 
Real-Time Big Data at In-Memory Speed, Using Storm
Real-Time Big Data at In-Memory Speed, Using StormReal-Time Big Data at In-Memory Speed, Using Storm
Real-Time Big Data at In-Memory Speed, Using Storm
 
Apache Storm and twitter Streaming API integration
Apache Storm and twitter Streaming API integrationApache Storm and twitter Streaming API integration
Apache Storm and twitter Streaming API integration
 
Streams processing with Storm
Streams processing with StormStreams processing with Storm
Streams processing with Storm
 
STORM
STORMSTORM
STORM
 
Real time and reliable processing with Apache Storm
Real time and reliable processing with Apache StormReal time and reliable processing with Apache Storm
Real time and reliable processing with Apache Storm
 
Real-time Big Data Processing with Storm
Real-time Big Data Processing with StormReal-time Big Data Processing with Storm
Real-time Big Data Processing with Storm
 

Viewers also liked

How Spotify scales Apache Storm Pipelines
How Spotify scales Apache Storm PipelinesHow Spotify scales Apache Storm Pipelines
How Spotify scales Apache Storm PipelinesKinshuk Mishra
 
REST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesREST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesPaul Fremantle
 
Test with Haiku Deck - Crate.io overview
Test with Haiku Deck - Crate.io overviewTest with Haiku Deck - Crate.io overview
Test with Haiku Deck - Crate.io overviewTeerapong Kraiamornchai
 
Chris Ward - Understanding databases for distributed docker applications - No...
Chris Ward - Understanding databases for distributed docker applications - No...Chris Ward - Understanding databases for distributed docker applications - No...
Chris Ward - Understanding databases for distributed docker applications - No...NoSQLmatters
 
Berkley Building Materials Project Gallary
Berkley Building Materials Project GallaryBerkley Building Materials Project Gallary
Berkley Building Materials Project Gallarysajidd
 
A Competive edge
A Competive edgeA Competive edge
A Competive edgepjb19
 
Using content-based multimedia similarity search for learning
Using content-based multimedia similarity search for learningUsing content-based multimedia similarity search for learning
Using content-based multimedia similarity search for learningsuzreader
 
Stacked deck presentation (1)
Stacked deck presentation (1)Stacked deck presentation (1)
Stacked deck presentation (1)Joe Hines
 
Webinar-Daily Deals and Mobile-Engagement Explained
Webinar-Daily Deals and Mobile-Engagement ExplainedWebinar-Daily Deals and Mobile-Engagement Explained
Webinar-Daily Deals and Mobile-Engagement ExplainedWaterfall Mobile
 
Intro to ebd08 review
Intro to ebd08 reviewIntro to ebd08 review
Intro to ebd08 reviewpostguy365
 
הכל על מועדון 700
הכל על מועדון 700הכל על מועדון 700
הכל על מועדון 700Kidum LTD
 
When it rains: Prepare for scale with Amazon EC2
When it rains: Prepare for scale with Amazon EC2When it rains: Prepare for scale with Amazon EC2
When it rains: Prepare for scale with Amazon EC2Dan Lynn
 
Mobile CRM Webinar: 6 Steps to Mobile ROI for Government Agencies
Mobile CRM Webinar: 6 Steps to Mobile ROI for Government AgenciesMobile CRM Webinar: 6 Steps to Mobile ROI for Government Agencies
Mobile CRM Webinar: 6 Steps to Mobile ROI for Government AgenciesWaterfall Mobile
 
Technology and accountability – ideas
Technology and accountability – ideasTechnology and accountability – ideas
Technology and accountability – ideasLaina Emmanuel
 
Mobile CRM Webinar: 6 Must Haves For Effective Cross Channel CRM
Mobile CRM Webinar: 6 Must Haves For Effective Cross Channel CRMMobile CRM Webinar: 6 Must Haves For Effective Cross Channel CRM
Mobile CRM Webinar: 6 Must Haves For Effective Cross Channel CRMWaterfall Mobile
 
【STR3 パネルトーク】
【STR3 パネルトーク】【STR3 パネルトーク】
【STR3 パネルトーク】Up Hatch
 
Special needs power point
Special needs power pointSpecial needs power point
Special needs power pointbusybee67
 
שיעורי בית בפסיכומטרי
שיעורי בית בפסיכומטרישיעורי בית בפסיכומטרי
שיעורי בית בפסיכומטריKidum LTD
 

Viewers also liked (20)

How Spotify scales Apache Storm Pipelines
How Spotify scales Apache Storm PipelinesHow Spotify scales Apache Storm Pipelines
How Spotify scales Apache Storm Pipelines
 
REST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesREST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and Lies
 
Test with Haiku Deck - Crate.io overview
Test with Haiku Deck - Crate.io overviewTest with Haiku Deck - Crate.io overview
Test with Haiku Deck - Crate.io overview
 
Chris Ward - Understanding databases for distributed docker applications - No...
Chris Ward - Understanding databases for distributed docker applications - No...Chris Ward - Understanding databases for distributed docker applications - No...
Chris Ward - Understanding databases for distributed docker applications - No...
 
Berkley Building Materials Project Gallary
Berkley Building Materials Project GallaryBerkley Building Materials Project Gallary
Berkley Building Materials Project Gallary
 
A Competive edge
A Competive edgeA Competive edge
A Competive edge
 
Using content-based multimedia similarity search for learning
Using content-based multimedia similarity search for learningUsing content-based multimedia similarity search for learning
Using content-based multimedia similarity search for learning
 
Stacked deck presentation (1)
Stacked deck presentation (1)Stacked deck presentation (1)
Stacked deck presentation (1)
 
Webinar-Daily Deals and Mobile-Engagement Explained
Webinar-Daily Deals and Mobile-Engagement ExplainedWebinar-Daily Deals and Mobile-Engagement Explained
Webinar-Daily Deals and Mobile-Engagement Explained
 
Intro to ebd08 review
Intro to ebd08 reviewIntro to ebd08 review
Intro to ebd08 review
 
הכל על מועדון 700
הכל על מועדון 700הכל על מועדון 700
הכל על מועדון 700
 
Prezentacja tz3 promocja_blog
Prezentacja tz3 promocja_blogPrezentacja tz3 promocja_blog
Prezentacja tz3 promocja_blog
 
When it rains: Prepare for scale with Amazon EC2
When it rains: Prepare for scale with Amazon EC2When it rains: Prepare for scale with Amazon EC2
When it rains: Prepare for scale with Amazon EC2
 
Mobile CRM Webinar: 6 Steps to Mobile ROI for Government Agencies
Mobile CRM Webinar: 6 Steps to Mobile ROI for Government AgenciesMobile CRM Webinar: 6 Steps to Mobile ROI for Government Agencies
Mobile CRM Webinar: 6 Steps to Mobile ROI for Government Agencies
 
Technology and accountability – ideas
Technology and accountability – ideasTechnology and accountability – ideas
Technology and accountability – ideas
 
Mobile CRM Webinar: 6 Must Haves For Effective Cross Channel CRM
Mobile CRM Webinar: 6 Must Haves For Effective Cross Channel CRMMobile CRM Webinar: 6 Must Haves For Effective Cross Channel CRM
Mobile CRM Webinar: 6 Must Haves For Effective Cross Channel CRM
 
Catalyst mini
Catalyst miniCatalyst mini
Catalyst mini
 
【STR3 パネルトーク】
【STR3 パネルトーク】【STR3 パネルトーク】
【STR3 パネルトーク】
 
Special needs power point
Special needs power pointSpecial needs power point
Special needs power point
 
שיעורי בית בפסיכומטרי
שיעורי בית בפסיכומטרישיעורי בית בפסיכומטרי
שיעורי בית בפסיכומטרי
 

Similar to Storm: The Real-Time Layer - GlueCon 2012

Presentation on nesting of loops
Presentation on nesting of loopsPresentation on nesting of loops
Presentation on nesting of loopsbsdeol28
 
C++ Standard Template Library
C++ Standard Template LibraryC++ Standard Template Library
C++ Standard Template LibraryIlio Catallo
 
Domain-Specific Languages
Domain-Specific LanguagesDomain-Specific Languages
Domain-Specific LanguagesJavier Canovas
 
Apache PIG - User Defined Functions
Apache PIG - User Defined FunctionsApache PIG - User Defined Functions
Apache PIG - User Defined FunctionsChristoph Bauer
 
Mastering Python lesson3b_for_loops
Mastering Python lesson3b_for_loopsMastering Python lesson3b_for_loops
Mastering Python lesson3b_for_loopsRuth Marvin
 
Dapper Tool - A Bundle to Make your ECL Neater
Dapper Tool - A Bundle to Make your ECL NeaterDapper Tool - A Bundle to Make your ECL Neater
Dapper Tool - A Bundle to Make your ECL NeaterHPCC Systems
 
Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014P. Taylor Goetz
 
Intro to Apache Storm
Intro to Apache StormIntro to Apache Storm
Intro to Apache StormDavid Kay
 
understand Storm in pictures
understand Storm in picturesunderstand Storm in pictures
understand Storm in pictureszqhxuyuan
 
My lecture stack_queue_operation
My lecture stack_queue_operationMy lecture stack_queue_operation
My lecture stack_queue_operationSenthil Kumar
 
Real-Time Streaming with Apache Spark Streaming and Apache Storm
Real-Time Streaming with Apache Spark Streaming and Apache StormReal-Time Streaming with Apache Spark Streaming and Apache Storm
Real-Time Streaming with Apache Spark Streaming and Apache StormDavorin Vukelic
 

Similar to Storm: The Real-Time Layer - GlueCon 2012 (20)

Twitter Stream Processing
Twitter Stream ProcessingTwitter Stream Processing
Twitter Stream Processing
 
Presentation on nesting of loops
Presentation on nesting of loopsPresentation on nesting of loops
Presentation on nesting of loops
 
Apache Storm Tutorial
Apache Storm TutorialApache Storm Tutorial
Apache Storm Tutorial
 
C++ Standard Template Library
C++ Standard Template LibraryC++ Standard Template Library
C++ Standard Template Library
 
Domain-Specific Languages
Domain-Specific LanguagesDomain-Specific Languages
Domain-Specific Languages
 
Twitter Big Data
Twitter Big DataTwitter Big Data
Twitter Big Data
 
Storm 0.8.2
Storm 0.8.2Storm 0.8.2
Storm 0.8.2
 
Apache PIG - User Defined Functions
Apache PIG - User Defined FunctionsApache PIG - User Defined Functions
Apache PIG - User Defined Functions
 
Mastering Python lesson3b_for_loops
Mastering Python lesson3b_for_loopsMastering Python lesson3b_for_loops
Mastering Python lesson3b_for_loops
 
Dapper Tool - A Bundle to Make your ECL Neater
Dapper Tool - A Bundle to Make your ECL NeaterDapper Tool - A Bundle to Make your ECL Neater
Dapper Tool - A Bundle to Make your ECL Neater
 
Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014
 
storm-170531123446.pptx
storm-170531123446.pptxstorm-170531123446.pptx
storm-170531123446.pptx
 
Intro to Apache Storm
Intro to Apache StormIntro to Apache Storm
Intro to Apache Storm
 
Storm introduction
Storm introductionStorm introduction
Storm introduction
 
understand Storm in pictures
understand Storm in picturesunderstand Storm in pictures
understand Storm in pictures
 
Loops_in_Rv1.2b
Loops_in_Rv1.2bLoops_in_Rv1.2b
Loops_in_Rv1.2b
 
My lecture stack_queue_operation
My lecture stack_queue_operationMy lecture stack_queue_operation
My lecture stack_queue_operation
 
Real-Time Streaming with Apache Spark Streaming and Apache Storm
Real-Time Streaming with Apache Spark Streaming and Apache StormReal-Time Streaming with Apache Spark Streaming and Apache Storm
Real-Time Streaming with Apache Spark Streaming and Apache Storm
 
06 Loops
06 Loops06 Loops
06 Loops
 
Storm
StormStorm
Storm
 

More from Dan Lynn

Dirty Data? Clean it up! - Rocky Mountain DataCon 2016
Dirty Data? Clean it up! - Rocky Mountain DataCon 2016Dirty Data? Clean it up! - Rocky Mountain DataCon 2016
Dirty Data? Clean it up! - Rocky Mountain DataCon 2016Dan Lynn
 
The Holy Grail of Data Analytics
The Holy Grail of Data AnalyticsThe Holy Grail of Data Analytics
The Holy Grail of Data AnalyticsDan Lynn
 
Dirty data? Clean it up! - Datapalooza Denver 2016
Dirty data? Clean it up! - Datapalooza Denver 2016Dirty data? Clean it up! - Datapalooza Denver 2016
Dirty data? Clean it up! - Datapalooza Denver 2016Dan Lynn
 
Hands on with Apache Spark
Hands on with Apache SparkHands on with Apache Spark
Hands on with Apache SparkDan Lynn
 
AgilData - How I Learned to Stop Worrying and Evolve with On-Demand Schemas
AgilData - How I Learned to Stop Worrying and Evolve  with On-Demand SchemasAgilData - How I Learned to Stop Worrying and Evolve  with On-Demand Schemas
AgilData - How I Learned to Stop Worrying and Evolve with On-Demand SchemasDan Lynn
 
Data Streaming Technology Overview
Data Streaming Technology OverviewData Streaming Technology Overview
Data Streaming Technology OverviewDan Lynn
 
Data decay and the illusion of the present
Data decay and the illusion of the presentData decay and the illusion of the present
Data decay and the illusion of the presentDan Lynn
 
Storing and manipulating graphs in HBase
Storing and manipulating graphs in HBaseStoring and manipulating graphs in HBase
Storing and manipulating graphs in HBaseDan Lynn
 

More from Dan Lynn (8)

Dirty Data? Clean it up! - Rocky Mountain DataCon 2016
Dirty Data? Clean it up! - Rocky Mountain DataCon 2016Dirty Data? Clean it up! - Rocky Mountain DataCon 2016
Dirty Data? Clean it up! - Rocky Mountain DataCon 2016
 
The Holy Grail of Data Analytics
The Holy Grail of Data AnalyticsThe Holy Grail of Data Analytics
The Holy Grail of Data Analytics
 
Dirty data? Clean it up! - Datapalooza Denver 2016
Dirty data? Clean it up! - Datapalooza Denver 2016Dirty data? Clean it up! - Datapalooza Denver 2016
Dirty data? Clean it up! - Datapalooza Denver 2016
 
Hands on with Apache Spark
Hands on with Apache SparkHands on with Apache Spark
Hands on with Apache Spark
 
AgilData - How I Learned to Stop Worrying and Evolve with On-Demand Schemas
AgilData - How I Learned to Stop Worrying and Evolve  with On-Demand SchemasAgilData - How I Learned to Stop Worrying and Evolve  with On-Demand Schemas
AgilData - How I Learned to Stop Worrying and Evolve with On-Demand Schemas
 
Data Streaming Technology Overview
Data Streaming Technology OverviewData Streaming Technology Overview
Data Streaming Technology Overview
 
Data decay and the illusion of the present
Data decay and the illusion of the presentData decay and the illusion of the present
Data decay and the illusion of the present
 
Storing and manipulating graphs in HBase
Storing and manipulating graphs in HBaseStoring and manipulating graphs in HBase
Storing and manipulating graphs in HBase
 

Recently uploaded

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Storm: The Real-Time Layer - GlueCon 2012