Impala是在Hadoop集群中的許多系統(tǒng)上運(yùn)行的MPP(大規(guī)模并行處理)查詢執(zhí)行引擎。 與傳統(tǒng)存儲(chǔ)系統(tǒng)不同,impala與其存儲(chǔ)引擎解耦。 它有三個(gè)主要組件,即Impala daemon(Impalad),Impala Statestore和Impala元數(shù)據(jù)或metastore。
Impala daemon(也稱為impalad)在安裝Impala的每個(gè)節(jié)點(diǎn)上運(yùn)行。 它接受來(lái)自各種接口的查詢,如impala shell,hue browser等...并處理它們。
每當(dāng)將查詢提交到特定節(jié)點(diǎn)上的impalad時(shí),該節(jié)點(diǎn)充當(dāng)該查詢的“協(xié)調(diào)器節(jié)點(diǎn)”。 Impalad還在其他節(jié)點(diǎn)上運(yùn)行多個(gè)查詢。 接受查詢后,Impalad讀取和寫入數(shù)據(jù)文件,并通過將工作分發(fā)到Impala集群中的其他Impala節(jié)點(diǎn)來(lái)并行化查詢。 當(dāng)查詢處理各種Impalad實(shí)例時(shí),所有查詢都將結(jié)果返回到中央?yún)f(xié)調(diào)節(jié)點(diǎn)。
根據(jù)需要,可以將查詢提交到專用Impalad或以負(fù)載平衡方式提交到集群中的另一Impalad。
Impala元數(shù)據(jù)和元存儲(chǔ)是另一個(gè)重要組件。 Impala使用傳統(tǒng)的MySQL或PostgreSQL數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)表定義。 諸如表和列信息和表定義的重要細(xì)節(jié)存儲(chǔ)在稱為元存儲(chǔ)的集中式數(shù)據(jù)庫(kù)中。
要處理查詢,Impala提供了三個(gè)接口,如下所示。
Impala-shell - 使用Cloudera VM設(shè)置Impala后,可以通過在編輯器中鍵入impala-shell命令來(lái)啟動(dòng)Impala shell。 我們將在后續(xù)章節(jié)中更多地討論Impala shell。
Hue界面 - 您可以使用Hue瀏覽器處理Impala查詢。 在Hue瀏覽器中,您有Impala查詢編輯器,您可以在其中鍵入和執(zhí)行impala查詢。 要訪問此編輯器,首先,您需要登錄到Hue瀏覽器。
ODBC / JDBC驅(qū)動(dòng)程序 - 與其他數(shù)據(jù)庫(kù)一樣,Impala提供ODBC / JDBC驅(qū)動(dòng)程序。 使用這些驅(qū)動(dòng)程序,您可以通過支持這些驅(qū)動(dòng)程序的編程語(yǔ)言連接到impala,并構(gòu)建使用這些編程語(yǔ)言在impala中處理查詢的應(yīng)用程序。
更多建議: