有人可以解释MapReduce如何与Cassandra一起使用.6?我已经阅读了单词计数示例,但我并不完全了解Cassandra结束与"客户端"结束时发生的事情.
https://svn.apache.org/repos/asf/cassandra/trunk/contrib/word_count/
例如,假设我使用的是Python和Pycassa,我将如何加载新的map reduce函数,然后调用它?我的map reduce函数必须是安装在cassandra服务器上的java吗?如果是这样,我如何从Pycassa调用它?
还有提到猪使这一切变得更容易,但我是一个完整的Hadoop菜鸟,所以这并没有真正的帮助.
你的回答可以使用Thrift或者其他什么,我刚才提到Pycassa来表示客户端.我只是想了解Cassandra集群中运行的内容与发出请求的实际服务器之间的区别.
从我所听到的(以及从这里)开发人员编写使用Cassandra作为数据源的MapReduce程序的方式如下.您编写了一个常规MapReduce程序(您链接到的示例是针对纯Java版本),现在可用的jar提供了一个CustomInputFormat,它允许输入源为Cassandra(而不是默认值,即Hadoop).
如果你正在使用Pycassa我会说你运气不好(1)该项目的维护者增加了对MapReduce的支持,或者(2)你将一些Python函数放在一起编写一个Java MapReduce程序并运行它.后者肯定是一个黑客,但会让你起来.