java怎么調(diào)用另一個(gè)類的方法 impala為什么比hive快?
impala為什么比hive快?Impala聲稱數(shù)據(jù)查詢的效率是hive的幾倍甚至幾十倍。為什么黑斑羚這么快的原因如下:真正的MPP查詢引擎。使用C開發(fā)而不是Java來(lái)減少運(yùn)行負(fù)載。運(yùn)行時(shí)代碼生成(l
impala為什么比hive快?
Impala聲稱數(shù)據(jù)查詢的效率是hive的幾倍甚至幾十倍。為什么黑斑羚這么快的原因如下:
真正的MPP查詢引擎。
使用C開發(fā)而不是Java來(lái)減少運(yùn)行負(fù)載。
運(yùn)行時(shí)代碼生成(llvm IR)以提高效率。
新的執(zhí)行引擎(不是MapReduce)。
執(zhí)行SQL語(yǔ)句時(shí),impala不會(huì)將中間數(shù)據(jù)寫入磁盤,而是在內(nèi)存中完成所有處理。
使用impala時(shí),將立即執(zhí)行查詢?nèi)蝿?wù)而不是生產(chǎn)MapReduce任務(wù),這將節(jié)省大量初始化時(shí)間。
Impala查詢計(jì)劃解析器使用更智能的算法在多個(gè)節(jié)點(diǎn)上以分布式方式執(zhí)行每個(gè)查詢步驟,同時(shí)避免了排序和洗牌這兩個(gè)非常耗時(shí)的階段,這兩個(gè)階段通常是不必要的。
Impala在HDFS上有每個(gè)數(shù)據(jù)塊的信息。在處理查詢時(shí),impala可以在每個(gè)數(shù)據(jù)節(jié)點(diǎn)上更均勻地分布查詢。
另一個(gè)關(guān)鍵原因是impala為每個(gè)查詢生成程序集級(jí)代碼。當(dāng)impala在本地內(nèi)存中運(yùn)行時(shí),匯編代碼的執(zhí)行效率比任何其他代碼框架都要快,因?yàn)榇a框架會(huì)增加額外的延遲。