我正在使用np.array()
表来执行一个sql来从2.3亿条记录中获取一些记录,但是使用map reduce进程需要300秒才能执行,而hive
只需少量获取此信息1秒。为什么mysql
需要更多时间?
我正在使用hive
群集与Ambari
引擎。我很困惑在Tez
移动数据库。
答案 0 :(得分:2)
在特定查询中,MySQL可能比Hive表现更好的原因有很多。从这个意义上讲,您的查询过于宽泛。
最可能的原因是MySQL中的索引。如果您有大量数据,MySQL可以使用索引优化查询。 Hive读取所有数据并对其进行处理。 MySQL可以优化正在处理的数据。
还有其他原因。如果数据存储在分区中,那么MySQL可能会基于where
子句更好地进行分区修剪。
在不知道数据和查询的情况下,没有概括性。对于单个查询,这并不太令人惊讶。通常,Hive在需要处理大量数据的查询上会更快。