我正在运行一个简单的连接查询
select count(*) from t1 join t2 on t1.sno=t2.sno
表t1和t2每个都有2000万条记录,而列sno是字符串数据类型。
表格数据以rcfile格式从Amazon s3导入HDFS。 该查询耗时109s,包含15个Amazon大型实例,但在sql server上需要42秒,内存为16 GB,内核为16个cpu。
我错过了什么吗?无法理解为什么我在亚马逊上的表现会变慢?
答案 0 :(得分:2)
有助于您调整Hadoop性能的一些问题:
sql-server可能没有40mm记录,但要等到你有20n条记录,看看它是怎么做的。它可能会破裂。我认为hive更像是Map Reduce的一个聪明的包装器,而不是真正的数据库的替代品。
同样根据经验,我认为拥有15个c1.medium可能与大型机器一样好,如果不是更好的话。大型机器没有正确的CPU /内存平衡。