使用datastax,hadoop,hive将数据与C *中的最后5个Feed数据版本进行比较

时间:2014-11-17 23:16:02

标签: hadoop cassandra hive

我每天都会将大量数据保存到Cassandra中,我想将一个数据点与不同地区的最后5个数据版本进行比较。

让我们说一个产品有一个价格数据点,在一个上下文/区域(比如美国)有2000个产品。我想展示一张热图仪表板,显示不同地区价格变化的时间。

enter image description here

我是hadoop,hive和pig的新手。哪条路可以帮助我实现目标,并且有些细节值得赞赏。

感谢。

1 个答案:

答案 0 :(得分:0)

对于传统的mapreduce或spark来说,这听起来是一个很好的用例。您有相对不频繁的更新,因此运行数据并更新表的批处理作业反过来提供热图的数据似乎是正确的方法。由于更新很少,您可能不需要担心火花流 - 只需每天运行几次传统的批量作业就可以了。

以下是关于火花作业中cassandra的数据读取的一些信息:http://www.datastax.com/documentation/datastax_enterprise/4.5/datastax_enterprise/spark/sparkSCcontext.html

无论是spark还是mapreduce,您都希望利用(spark或MR)框架分区任务的能力 - 如果您手动连接到cassandra并像传统的RDBMS那样读取/写入数据,你可能做错了什么。如果你正确地编写了你的​​工作,那么框架将负责启动多个读者(每个包含你感兴趣的源数据的节点一个),分配计算任务,并将结果路由到适当的机器来存储它们。

此处还有一些例子:

http://www.datastax.com/documentation/datastax_enterprise/4.5/datastax_enterprise/spark/sparkIntro.html

http://www.datastax.com/documentation/datastax_enterprise/4.5/datastax_enterprise/byoh/byohIntro.html

无论哪种方式,MapReduce都可能更简单一点,而Spark可能会更具未来性。