We are having a usecase in Apache Storm , where we need get data from a source system , and then perform some operation on the tuple that is recieved but also want to look up the data in database. But making a Database Call everytime for millions of records is not feasible. So is there a way where we can load a distributed hash map on start up and when the tuple is processed in Bolt or Spout, first lookup this hash map and if the value is not present in the HashMap, then make the Datbase Call and update the corresponding Map which should be accessible across.
How to maintain a distributed HashMap in Apache Storm Cluster
272 Views Asked by Lijo wilson At
1
There are 1 best solutions below
Related Questions in APACHE-STORM
- How can I serialize a numpy array while preserving matrix dimensions?
- Logging from a storm bolt - where is it going?
- Storm Word Count Topology - Concept issue with number of executions
- Supervisor node will not connect to storm cluster
- Storm [ERROR] Async loop died
- How to export data from Cassandra to mongodb?
- Why is my streamparse topology definition complaining about a wrong number of arguments to thrift$mk-topology?
- storm caching in topology level available for all bolts
- java.lang.RuntimeException : no viable alternative at input '<EOF>'
- storm supervisor exits when processing event
- apache storm into node js
- Passing cmd line params to storm subprocesses
- storm-starter with intellij idea,maven project could not find class
- storm + kafka: understanding ack, fail and latency
- storm topology: one to many (random)
Related Questions in APACHE-STORM-TOPOLOGY
- one bolt recive from 2 others in streamparse python
- Apache Storm problem with metadata scheduler
- Dependency Injection in Apache Storm topology
- Topology does not execute on local cluster
- How Apache Storm parallelism works?
- Apache Storm Starter 2.2.0 in Eclipse in Windows - Exception while trying to get leader nimbus info from localhost NimbusLeaderNotFound
- Apache storm: why and how to choose number of tasks per executor?
- Apache Storm: split a stream to different bolts
- How to maintain a distributed HashMap in Apache Storm Cluster
- Increasing assigned memory for a topology in Storm
- Storm Topology does not start with parallelism hint of 1200
- How to receive a tick tuple since we start the topology?
- Apache Storm : storm-kafka-monitor script throws exception
- Getting a topology on StormCrawler to properly write warc files
- Storm causes dependency conflicts on Ignite log4j
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
There is nothing built in (i.e. without running external services) that would be accessible to the entire topology, since your bolts will likely run in different JVMs or even on different hosts. If you need a distributed cache, look at something like Redis https://redis.io/.
You might want to look at https://storm.apache.org/releases/2.0.0-SNAPSHOT/State-checkpointing.html, the API should be able to do what you want, and there's support for Redis integration. If you don't need the checkpointing functionality, you can of course also just use Redis directly.