我用cassandra来存储数据,用hive来处理数据。我在5台机器上设置了cassandra,2台机器用作分析节点(hive运行的地方),所以我想问的是hive是否只在两台机器(分析节点)上进行Map缩减,并将数据带到那里,或者它将进程/计算移到5个cassandra节点,并在这些机器上处理/计算数据。(我知道的是在hadoop中,进程移动到数据,而不是要处理的数据)。
fiei3ece1#
如果你有兴趣嫁给hadoop和cassandra-第一个链接应该是围绕这个概念建立的公司。http://www.datastax.com/ 他们构建并支持hadoop,用cassandra替换hdfs。据我所知,他们确实有数据locality:httphttp://blog.octo.com/en/introduction-to-datastax-brisk-an-hadoop-and-cassandra-distribution/如果您对cassandra cassandra和mapreduce运行mapreduce,那么hadoop和cassandra数据局部性有一个很好的答案-最低的设置要求关于你的问题-有一个权衡:a)如果你在不同的节点上运行hadoop/hive,你会失去数据的局部性,因此你的数据吞吐量会受到网络带宽的限制。b) 如果您在cassandra运行的相同节点上运行hadoop/hive,您可以获得数据位置,但是hive查询后面的mapreduce处理可能会阻塞您的网络(和其他资源),从而影响cassandra提供的服务质量。我的建议是,如果您的cassandra集群的性能非常关键,那么应该使用单独的hive节点。如果您的cassandra主要用作数据存储而不处理实时请求,那么在每个节点上运行配置单元将提高性能和硬件利用率。
1条答案
按热度按时间fiei3ece1#
如果你有兴趣嫁给hadoop和cassandra-第一个链接应该是围绕这个概念建立的公司。http://www.datastax.com/ 他们构建并支持hadoop,用cassandra替换hdfs。据我所知,他们确实有数据locality:httphttp://blog.octo.com/en/introduction-to-datastax-brisk-an-hadoop-and-cassandra-distribution/
如果您对cassandra cassandra和mapreduce运行mapreduce,那么hadoop和cassandra数据局部性有一个很好的答案-最低的设置要求
关于你的问题-有一个权衡:a)如果你在不同的节点上运行hadoop/hive,你会失去数据的局部性,因此你的数据吞吐量会受到网络带宽的限制。
b) 如果您在cassandra运行的相同节点上运行hadoop/hive,您可以获得数据位置,但是hive查询后面的mapreduce处理可能会阻塞您的网络(和其他资源),从而影响cassandra提供的服务质量。
我的建议是,如果您的cassandra集群的性能非常关键,那么应该使用单独的hive节点。
如果您的cassandra主要用作数据存储而不处理实时请求,那么在每个节点上运行配置单元将提高性能和硬件利用率。