如何使用Node.js在Apache Storm中获取输出

myst552

我是新来的Apache风暴。该程序是将传入的句子拆分为单词,然后进行单词计数。我在console.log('in spout')和console.log(word)中遇到问题,即在获取输出时。我已附上以下代码:

var storm = require('node-storm')

var randomsentence = (function() {
    var sentences = [
        "the cow jumped over the moon",
        "an apple a day keeps the doctor away",
        "four score and seven years ago",
        "snow white and the seven dwarfs",
        "i am at two with nature"
    ]
    console.log('before spout')
    return storm.spout(function(sync) {
        var self = this
        setTimeout(function() {
            console.log('in spout')
            var i = Math.floor(Math.random()*sentences.length)
            var sentence = sentences[i]
            self.emit([sentence]) /* {id:'unique'} //for reliable emit */
            sync()
        }, 100)
    }).declareOutputFields(["word"])
})()

var splitsentence = storm.basicbolt(function(data) {
    var words = data.tuple[0].split(" ")
    for (var i = 0; i < words.length; ++i) {
        var word = words[i].trim()
        if (word) {
            this.emit([word])
            console.log(word)
        }
    }
}).declareOutputFields(["word"])

var wordcount = (function() {
    var counts = {}


    return storm.basicbolt(function(data) {
        var word = data.tuple[0]
        if (counts[word] == null) {
            counts[word] = 0
        }
        var count = ++counts[word]
        this.emit([word, count])
    }).declareOutputFields(["word", "count"])
})()



var builder = storm.topologybuilder()
builder.setSpout('randomsentence', randomsentence)
builder.setBolt('splitsentence', splitsentence, 8).shuffleGrouping('randomsentence')
builder.setBolt('wordcount', wordcount, 12).fieldsGrouping('splitsentence', ['word'])
//builder.setBolt('word',word,3).shuffleGrouping('wordcount')

var topology = builder.createTopology()

var options = {
    // name: 'optional... the default name is the name of the topology script',
    //nimbus: 'localhost:2181',
    //nimbus: '127.0.0.1:2181',
    nimbus: '172.26.4.227:2181',
    config: { 'topology.debug': true }
}
storm.submit(topology, options, function(err, topologyName) {
    // Handle error or submission success
if(err){console.log(err)}
console.log(topologyName)
})


//process.on('uncaughtException', function (err) {
  //  console.log(err);
//}); 
内尔桑达

我相信您之所以看不到输出console.log('in spout')console.log(word)是因为风暴分配处理的方式。喷嘴和螺栓的内容将在集群中各个风暴节点上的工作进程中执行。日志将位于这些风暴节点上。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node.JS + Apache-无法获取

来自分类Dev

如何在Apache Storm中拆分流?

来自分类Dev

在 node.js 中同步获取 mysql 查询的输出

来自分类Dev

如何从Java 8中的js函数获取数组输出?

来自分类Dev

如何从Java 8中的js函数获取数组输出?

来自分类Dev

如何在Node.js中使用Swig输出JSON

来自分类Dev

如何使用Node.js捕获命令行输出?

来自分类Dev

如何从Node js中的“ then”中获取数据?

来自分类Dev

如何从Powershell脚本运行Node JS脚本并在PowerShell脚本中使用Node JS脚本的输出?

来自分类Dev

如何使用node.js处理获取请求(快速)

来自分类Dev

如何使用node.js Cheerio一一获取元素

来自分类Dev

如何使用node.js获取我的外部IP地址?

来自分类Dev

MongoDB-如何使用Node.js获取集合的大小?

来自分类Dev

如何使用Node.js从系统获取本地时区

来自分类Dev

如何使用2参数路由获取node.js

来自分类Dev

如何使用node.js从mongodb获取条目

来自分类Dev

如何使用Node.js获取MacBook Pro的GPS数据?

来自分类Dev

如何使用 node.js 获取网页内容

来自分类Dev

如何使用 Node.js 获取 Windows 版本?

来自分类Dev

如何使用Node.js,Express.js从MongoDB中获取数据

来自分类Dev

通过Apache ProxyPass代理时,如何在Node.JS上获取远程用户的IP地址?

来自分类Dev

通过Apache ProxyPass代理时,如何在Node.JS上获取远程用户的IP地址?

来自分类Dev

如何从mongodb中获取数据并使用node js将其显示在表中?

来自分类Dev

如何在Apache Storm中启用超级用户的日志轮换

来自分类Dev

如何在Java中为Apache Storm实施HTTP Spout?

来自分类Dev

如何在Node.js中获取POST(jquery)数组数据(使用Express)

来自分类Dev

如何在不带.then函数的情况下使用node.js从promise中获取值

来自分类Dev

如何使用KMS在Node.js中获取/放置S3加密对象?

来自分类Dev

如何使用node.js在mongodb中获取按组名分组的聚合值?

Related 相关文章

  1. 1

    Node.JS + Apache-无法获取

  2. 2

    如何在Apache Storm中拆分流?

  3. 3

    在 node.js 中同步获取 mysql 查询的输出

  4. 4

    如何从Java 8中的js函数获取数组输出?

  5. 5

    如何从Java 8中的js函数获取数组输出?

  6. 6

    如何在Node.js中使用Swig输出JSON

  7. 7

    如何使用Node.js捕获命令行输出?

  8. 8

    如何从Node js中的“ then”中获取数据?

  9. 9

    如何从Powershell脚本运行Node JS脚本并在PowerShell脚本中使用Node JS脚本的输出?

  10. 10

    如何使用node.js处理获取请求(快速)

  11. 11

    如何使用node.js Cheerio一一获取元素

  12. 12

    如何使用node.js获取我的外部IP地址?

  13. 13

    MongoDB-如何使用Node.js获取集合的大小?

  14. 14

    如何使用Node.js从系统获取本地时区

  15. 15

    如何使用2参数路由获取node.js

  16. 16

    如何使用node.js从mongodb获取条目

  17. 17

    如何使用Node.js获取MacBook Pro的GPS数据?

  18. 18

    如何使用 node.js 获取网页内容

  19. 19

    如何使用 Node.js 获取 Windows 版本?

  20. 20

    如何使用Node.js,Express.js从MongoDB中获取数据

  21. 21

    通过Apache ProxyPass代理时,如何在Node.JS上获取远程用户的IP地址?

  22. 22

    通过Apache ProxyPass代理时,如何在Node.JS上获取远程用户的IP地址?

  23. 23

    如何从mongodb中获取数据并使用node js将其显示在表中?

  24. 24

    如何在Apache Storm中启用超级用户的日志轮换

  25. 25

    如何在Java中为Apache Storm实施HTTP Spout?

  26. 26

    如何在Node.js中获取POST(jquery)数组数据(使用Express)

  27. 27

    如何在不带.then函数的情况下使用node.js从promise中获取值

  28. 28

    如何使用KMS在Node.js中获取/放置S3加密对象?

  29. 29

    如何使用node.js在mongodb中获取按组名分组的聚合值?

热门标签

归档