天天看點

Impala invalidate metadata詳細使用方法說明

前言

Impala一直是我們各個業務使用的重點,但是在Impala的使用上感覺一直不是很成熟,比如說

invalidate metadata

操作,到底什麼時候該使用-r參數,什麼時候不使用,什麼時候可以用refresh代替,什麼時候不可以,這一直是一個問題。是以有了這次的測試。

這次的測試目的就是為了對Impala的中繼資料方面的使用進行一個徹底的測試,給出一個比較明确答複。在最大的成都上來減緩Impala叢集的壓力。

測試準備

本次測試,分為外表和内表,分别對表和分區進行各種操作,然後記錄不同的操作是否需要使用-r或者refresh。

測試主要在三台機器上進行,一台進行各種資料操作,另兩台進行資料查詢操作。

其中

invalidate metadata tablename

refresh tablename

随機在各台機器上進行測試。

測試詳情

下面就是測試詳情。比較容易了解,不再解釋。

Impala invalidate metadata詳細使用方法說明

結論

測試的結果比較出乎意料,比較簡單的一個結論就是,除了對hdfs進行操作外,隻要通過impala的指令執行的資料修改,一律不需要進行中繼資料的同步工作,這就意味着,基本上所有腳本的

-r

參數都可以删除,查詢語句的時候也不需要使用-r參數,如果害怕資料過期,那麼斷開重新連接配接即可。

注意:唯一需要注意的就是,隻要對hdfs進行了操作,就需要執行中繼資料的更新的操作,根據Impala官方的建議,這種情況完全可以使用

refresh tablename

操作,而不必加

-r

參數。

補充

補充一: 親測,catalog服務同步中繼資料的時候會有一定的延遲,但是不會特别長,我遇到過一次,延遲在一秒左右,不會太長。

補充二:這次沒有對hive進行測試,但是按照官網的解釋,通過hive和hdfs進行的操作,都會需要執行更新中繼資料的操作。

2016-04-14 19:08:00 hzct

來源:

http://blog.csdn.net/zhaodedong

http://zhaodedong.leanote.com

http://zhaodedong.com

Impala invalidate metadata詳細使用方法說明