hadoop和hive的關(guān)系 怎樣將hive的數(shù)據(jù)同步到impala?
怎樣將hive的數(shù)據(jù)同步到impala?HBase是一個基于列的NoSQL數(shù)據(jù)庫,可以靈活地存儲數(shù)據(jù)。它本身就是一張大桌子。在一些應(yīng)用中,通過設(shè)計rowkey,可以實現(xiàn)海量數(shù)據(jù)的快速存儲和訪問。但是對
怎樣將hive的數(shù)據(jù)同步到impala?
HBase是一個基于列的NoSQL數(shù)據(jù)庫,可以靈活地存儲數(shù)據(jù)。它本身就是一張大桌子。在一些應(yīng)用中,通過設(shè)計rowkey,可以實現(xiàn)海量數(shù)據(jù)的快速存儲和訪問。
但是對于復(fù)雜的查詢統(tǒng)計需求,如果直接基于HBase API實現(xiàn),性能很差,或者可以通過實現(xiàn)MapReduce程序來分析,也繼承了MapReduce的延遲。
impala為什么比hive快?
Impala聲稱數(shù)據(jù)查詢的效率比hive快幾倍甚至幾十倍。為什么黑斑羚這么快的原因如下:
真正的MPP查詢引擎。
使用C開發(fā)而不是Java來減少運行負(fù)載。
運行時代碼生成(llvm IR)以提高效率。
新的執(zhí)行引擎(不是MapReduce)。
執(zhí)行SQL語句時,impala不會將中間數(shù)據(jù)寫入磁盤,而是在內(nèi)存中完成所有處理。
使用impala時,將立即執(zhí)行查詢?nèi)蝿?wù)而不是生產(chǎn)MapReduce任務(wù),這將節(jié)省大量初始化時間。
Impala查詢計劃解析器使用更智能的算法在多個節(jié)點上以分布式方式執(zhí)行每個查詢步驟,同時避免了排序和洗牌這兩個非常耗時的階段,這兩個階段通常是不必要的。
Impala在HDFS上有每個數(shù)據(jù)塊的信息。在處理查詢時,impala可以在每個數(shù)據(jù)節(jié)點上更均勻地分布查詢。
另一個關(guān)鍵原因是impala為每個查詢生成程序集級代碼。當(dāng)impala在本地內(nèi)存中運行時,匯編代碼的執(zhí)行效率比任何其他代碼框架都要快,因為代碼框架會增加額外的延遲。
GreenPlum與hadoop什么關(guān)系?
Greenplum采用PostgreSQL框架,這是PostgreSQL系統(tǒng)的一個重要應(yīng)用。從這個角度來看,我們可以知道Greenplum是一個關(guān)系數(shù)據(jù)庫。
Hadoop框架是一個分布式平臺設(shè)計概念。它本身不是一個數(shù)據(jù)庫。Impala可以看作是一個非關(guān)系數(shù)據(jù)庫,hive相當(dāng)于SQL。
分布式,是一個多方面的,最重要的是存儲。Greenplum的分發(fā)主要體現(xiàn)在多機文件的存儲和授權(quán)上。Hadoop的文件管理也是分布式的,因為只有分布式部署才能最大限度地提高發(fā)回Hadoop函數(shù)的效率。
因此,可以認(rèn)為Greenplum與Hadoop沒有直接關(guān)系。