Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How to Run Scala-Implemented Storm Topologies on HDInsight

DZone's Guide to

How to Run Scala-Implemented Storm Topologies on HDInsight

After setting up a Scala-implemented storm topology in order to count words, the next logical step is to create a Storm topology on HDInsight.

Free Resource

Need to build an application around your data? Learn more about dataflow programming for rapid development and greater creativity. 

Previously, we set up a Scala-implemented storm topology in order to count words. What comes next is uploading our topology to HDInsight.

So, we shall proceed to create a Storm topology on HDInsight.

screenshot-from-2017-02-22-07-10-08

Then, we choose the instance types:

Image title

The next step is to upload our JAR file to the head node in order to deploy it. We can use SCP for this purpose.

scp target / scala - 2.12 / ScalaStorm - assembly - 1.0.jar {
 your user
}
@ {
 your azure endpoint
}: /home/demo

Now, we can SSH to our storm cluster’s head node and issue the storm command.

storm jar ScalaStorm-assembly-1.0.jar 
      com.gkatzioura.scala.storm.WordCountTopology word-count-stream-scala 

Then, we can check our topology by navigating to https://{your cluster}.azurehdinsight.net/stormui.

And that's it! Now, you know how to run Scala-implemented storm topologies on HDInsight.

Check out the Exaptive data application Studio. Technology agnostic. No glue code. Use what you know and rely on the community for what you don't. Try the community version.

Topics:
big data ,storm ,scala ,hdinsight ,tutorial

Published at DZone with permission of Emmanouil Gkatziouras, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}