{"id":29690,"date":"2014-09-03T13:00:40","date_gmt":"2014-09-03T10:00:40","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/?p=29690"},"modified":"2014-09-02T23:41:04","modified_gmt":"2014-09-02T20:41:04","slug":"instant-big-data-stream-processing-instant-storm","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html","title":{"rendered":"Instant Big Data Stream Processing = Instant Storm"},"content":{"rendered":"<p>Every 6 months at Canonical, the company behind Ubuntu, I work on something technical to test our tools first hand and to show others new ideas. This time around I created an Instant Big Data solution, more concretely \u201cInstant Storm\u201d.<\/p>\n<p><a href=\"https:\/\/storm.incubator.apache.org\/\" target=\"_blank\">Storm<\/a> is now part of the Apache Foundation but previously Storm was build by Nathan Marz during his time at Twitter. Storm is a stream processing engine for real-time and distributed computation. You can use Storm to aggregate real-time flows of events, to do machine learning, for analytics, for distributed ETL, etc.<\/p>\n<p>Storm is build out of several services and requires Zookeeper. It is a complex solution and non-trivial to deploy, integrate and scale. \u00a0The\u00a0first technical project I did at Canonical was to create a <a href=\"https:\/\/jujucharms.com\/~maarten-ectors\/precise\/storm-5\/?text=storm#readme\" target=\"_blank\">Storm Juju charm<\/a>. Although I was able to automate the deployment of Storm, there were still problems because users still had to read about how to actually use Storm.<\/p>\n<p>Instant Storm is the first effort to resolve this problem. I created a <a href=\"https:\/\/jujucharms.com\/~maarten-ectors\/precise\/stormdeployer-1\/?text=storm#readme\" target=\"_blank\">StormDeployer charm<\/a> that can read a yaml file in which a developer can specify multiple topologies. For each you specify the name of the topology, the jar file, the location in Github, how to package the jar file, etc.\u00a0Afterwards by uploading the yaml file to Github or any public web server and giving it the extension .storm anybody in the world is able to reuse the topologies instantly in two steps:<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>1. Deploy the <a href=\"https:\/\/jujucharms.com\/?text=instantstorm\" target=\"_blank\">Storm bundle<\/a> that comes with Storm + Zookeeper + StormDeployer via a simple drag and drop in <a href=\"http:\/\/juju.ubuntu.com\" target=\"_blank\">Juju<\/a>:<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-16-44.png\"><img decoding=\"async\" class=\"aligncenter size-medium wp-image-29709\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-16-44-300x155.png\" alt=\"screen-shot-2014-09-02-at-11-16-44\" width=\"300\" height=\"155\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-16-44-300x155.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-16-44-1024x529.png 1024w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-16-44.png 1193w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>2. Get a URL to a storm file and put it into the deploy field of the\u00a0service settings of the StormDeployer :<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-20-41.png\"><img decoding=\"async\" class=\"aligncenter size-medium wp-image-29710\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-20-41-300x153.png\" alt=\"screen-shot-2014-09-02-at-11-20-41\" width=\"300\" height=\"153\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-20-41-300x153.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-20-41-1024x524.png 1024w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-20-41.png 1293w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Alternatively you can use the Juju command line:<\/p>\n<pre class=\" brush:java\">juju set stormdeployer \"deploy=http:\/\/somedomain\/somefile.storm\"<\/pre>\n<p>There are several examples already available on Github but here is one that for sure works:<br \/>\n<a href=\"https:\/\/raw.githubusercontent.com\/mectors\/stormdeployer-examples\/master\/storm-hackaton\/storm-hackaton.storm\" rel=\"nofollow\">https:\/\/raw.githubusercontent.com\/mectors\/stormdeployer-examples\/master\/storm-hackaton\/storm-hackaton.storm<\/a><\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-18-44.png\"><img decoding=\"async\" class=\"aligncenter size-medium wp-image-29711\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-18-44-300x168.png\" alt=\"screen-shot-2014-09-02-at-11-18-44\" width=\"300\" height=\"168\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-18-44-300x168.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/09\/screen-shot-2014-09-02-at-11-18-44.png 675w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>The StormDeployer will download the project from Github, package the jar with Maven and upload the jar to Storm. \u00a0You can check progress in the logs (\/opt\/storm\/latest\/log\/deploy.log).<\/p>\n<p>This is the easiest way to deploy Storm on any public cloud, private cloud or if Ubuntu\u2019s Metal-as-a-Service \/ MaaS is used on any bare metal server (X86, ARM64, Power 8). See here for <a href=\"https:\/\/juju.ubuntu.com\/install\/\" target=\"_blank\">Juju installation instructions<\/a>.<\/p>\n<p>This is a first version with some limitations. One of the really nice things to add would be to use Juju to make integrations between a topology and other charms dynamic. You can for instance create a spout or bolt that connects to the Kafka or Cassandra charms. Juju can automatically tell the topology the connection information and make updates to the running topologies should anything change. This would make it a lot more robust to run long running Storm topologies.<\/p>\n<p>I am happy to donate my work to the Apache Foundation and guide anybody who wants to take ownership\u2026<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"http:\/\/telruptive.com\/2014\/09\/02\/instant-big-data-stream-processing-instant-storm\/\">Instant Big Data Stream Processing = Instant Storm<\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/jcg\">JCG partner<\/a> Maarten Ectors at the <a href=\"http:\/\/telruptive.com\/\">Telruptive<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Every 6 months at Canonical, the company behind Ubuntu, I work on something technical to test our tools first hand and to show others new ideas. This time around I created an Instant Big Data solution, more concretely \u201cInstant Storm\u201d. Storm is now part of the Apache Foundation but previously Storm was build by Nathan &hellip;<\/p>\n","protected":false},"author":371,"featured_media":112,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[944,372],"class_list":["post-29690","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-apache-storm","tag-big-data"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Instant Big Data Stream Processing = Instant Storm<\/title>\n<meta name=\"description\" content=\"Every 6 months at Canonical, the company behind Ubuntu, I work on something technical to test our tools first hand and to show others new ideas. This time\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Instant Big Data Stream Processing = Instant Storm\" \/>\n<meta property=\"og:description\" content=\"Every 6 months at Canonical, the company behind Ubuntu, I work on something technical to test our tools first hand and to show others new ideas. This time\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2014-09-03T10:00:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Maarten Ectors\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Maarten Ectors\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html\"},\"author\":{\"name\":\"Maarten Ectors\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/49d9696aeeca4e8974527e5034dc4c76\"},\"headline\":\"Instant Big Data Stream Processing = Instant Storm\",\"datePublished\":\"2014-09-03T10:00:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html\"},\"wordCount\":505,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"keywords\":[\"Apache Storm\",\"Big Data\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html\",\"name\":\"Instant Big Data Stream Processing = Instant Storm\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"datePublished\":\"2014-09-03T10:00:40+00:00\",\"description\":\"Every 6 months at Canonical, the company behind Ubuntu, I work on something technical to test our tools first hand and to show others new ideas. This time\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"java-interview-questions-answers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2014\\\/09\\\/instant-big-data-stream-processing-instant-storm.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Instant Big Data Stream Processing = Instant Storm\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/49d9696aeeca4e8974527e5034dc4c76\",\"name\":\"Maarten Ectors\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cc45ce32c2d8e8768802e192929fc403e14a6adfdbd0a8286697ea8a6241e7b0?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cc45ce32c2d8e8768802e192929fc403e14a6adfdbd0a8286697ea8a6241e7b0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cc45ce32c2d8e8768802e192929fc403e14a6adfdbd0a8286697ea8a6241e7b0?s=96&d=mm&r=g\",\"caption\":\"Maarten Ectors\"},\"sameAs\":[\"http:\\\/\\\/telruptive.com\\\/\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/maarten-ectors\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Instant Big Data Stream Processing = Instant Storm","description":"Every 6 months at Canonical, the company behind Ubuntu, I work on something technical to test our tools first hand and to show others new ideas. This time","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html","og_locale":"en_US","og_type":"article","og_title":"Instant Big Data Stream Processing = Instant Storm","og_description":"Every 6 months at Canonical, the company behind Ubuntu, I work on something technical to test our tools first hand and to show others new ideas. This time","og_url":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2014-09-03T10:00:40+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","type":"image\/jpeg"}],"author":"Maarten Ectors","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Maarten Ectors","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html"},"author":{"name":"Maarten Ectors","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/49d9696aeeca4e8974527e5034dc4c76"},"headline":"Instant Big Data Stream Processing = Instant Storm","datePublished":"2014-09-03T10:00:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html"},"wordCount":505,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","keywords":["Apache Storm","Big Data"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html","url":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html","name":"Instant Big Data Stream Processing = Instant Storm","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","datePublished":"2014-09-03T10:00:40+00:00","description":"Every 6 months at Canonical, the company behind Ubuntu, I work on something technical to test our tools first hand and to show others new ideas. This time","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","width":150,"height":150,"caption":"java-interview-questions-answers"},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2014\/09\/instant-big-data-stream-processing-instant-storm.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Instant Big Data Stream Processing = Instant Storm"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/49d9696aeeca4e8974527e5034dc4c76","name":"Maarten Ectors","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/cc45ce32c2d8e8768802e192929fc403e14a6adfdbd0a8286697ea8a6241e7b0?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/cc45ce32c2d8e8768802e192929fc403e14a6adfdbd0a8286697ea8a6241e7b0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cc45ce32c2d8e8768802e192929fc403e14a6adfdbd0a8286697ea8a6241e7b0?s=96&d=mm&r=g","caption":"Maarten Ectors"},"sameAs":["http:\/\/telruptive.com\/"],"url":"https:\/\/www.javacodegeeks.com\/author\/maarten-ectors"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/29690","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/371"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=29690"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/29690\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/112"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=29690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=29690"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=29690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}