Ⅰ 什麼是impala,如何安裝使用Impala
Cloudera Impala對你存儲在Apache Hadoop在HDFS,HBase的數據提供直接查詢互動的SQL。除了像Hive使用相同的統一存儲平台,Impala也使用相同的元數據,SQL語法(Hive SQL),ODBC驅動程序和用戶界面(Hue Beeswax)。Impala還提供了一個熟悉的面向批量或實時查詢和統一平台。
二、Impala安裝
1.安裝要求
(1)軟體要求
Red Hat Enterprise Linux (RHEL)/CentOS 6.2 (64-bit)
CDH 4.1.0 or later
Hive
MySQL
(2)硬體要求
在Join查詢過程中需要將數據集載入內存中進行計算,因此對安裝Impalad的內存要求較高。
2、安裝准備
(1)操作系統版本查看
>more/etc/issue
CentOSrelease 6.2 (Final)
Kernel \ron an \m
(2)機器准備
10.28.169.112mr5
10.28.169.113mr6
10.28.169.114mr7
10.28.169.115mr8
各機器安裝角色
mr5:NameNode、ResourceManager、SecondaryNameNode、Hive、impala-state-store
mr6、mr7、mr8:DataNode、NodeManager、impalad
(3)用戶准備
在各個機器上新建用戶hadoop,並打通ssh
(4)軟體准備
Ⅱ impala性能和數據量
在3.2版本以下的Impala中,這里提供一種基於Atlas Hive Hook的方式進行實時元數據刷新的方式。並提供了腳本 https://github.com/Observe-secretly/AutoRefreshImpala。它已經在生產環境穩定運行一年之久。好用的話請加星,也可關注作者其他項目
Impala 利用了 Hadoop 生態系統中許多熟悉的組件。 Impala 可以(作為消費者或生產者)與其它 Hadoop 組件來交換數據,因此它可以靈活地適應您的 ETL 和 ELT pipelines(管道)。
Ⅲ imPala會數據丟失嗎
基於內存計算,對內存依賴性較大改用C++編寫,意味著維護難度增大基於hive,與hive共存亡,緊耦合穩定性不如hive,不存在數據丟失的情況。
Ⅳ impala怎麼判斷從hive里刷新那部分元數據
Impala 獲取hive 的 metadata
Impala 通常和Hive共用同一個metadata 資料庫(通常是MySQL/PostgreSQL), 所以Impala 能夠讀取到Hive的元數據信息. 如果Impala需要訪問Hive表, 需要將Hive metadata 刷新到impala中.
在Hive中Create/Drop表後, 或者HDFS rebalance,或者手工刪除HDFS的文件後, 則需要在impala中執行下面兩行命令:
INVALIDATE METADATA table_name;
describe table_name;
第一行命令 INVALIDATE METADATA 告訴impala 指定的 table 元數據已經過期, impala 將在下一次使用到該表時自動刷新元數據, 第二行命令即觸發impala去更新元數據, 以免將來真正使用該表耗時太久.
如果Impala已經知道了Hive表的存在後, 又通過Hive增加或刪除分區或alter table, 使用 refresh 命令即可更新元數據. refresh是對元數據進行增量更新, 和INVALIDATE METADATA相比, refresh命令使用成本低很多.
利用catalogd提供元數據服務。可以直接連DB也可以通過catalogd,一般是利用hive里的metastore獲取數據。Impala高效的原因是其將原始數據緩存下來,catalogd啟動會瀏覽緩存獲取數據
因為impla默認catalogd會緩存,因此如果你重啟的後,catalogd會將緩存數據存入到內存中,
Ⅳ 為什麼impala主要場景用於數據分析(應用層)與而hive的使用場景卻是(數倉)
impala擅長的是秒級查詢數據,不擅長數據的清洗和計算
Ⅵ impala為什麼比spark快
應該不會,Impala是相當專注於傳統企業客戶和OLAP和數據倉庫工作負載。Shark支持傳統OLAP。
比較:
一、總體上
Shark擴展了Apache Hive,大大加快在內存和磁碟上的查詢。而Impala是企業級數據倉庫系統, 可以很好地使用Hive/ HDFS,從架構層來說,類似於傳統的並行資料庫。這兩個系統有著很多共同的目標,但也有很大差異。
二、與現有系統的兼容性
Shark直接建立在Apache/Hive代碼庫上,所以它自然支持幾乎所有Hive特點。它支持現有的Hive SQL語言,Hive數據格式(SerDes),用戶自定義函數(UDF),調用外部腳本查詢。因為Impala使用自定義的C++運行,它不支持Hive UDF。這兩個系統將會與許多BI工具整合,這一直是Impala的主要目標。Shark正在被用於一些BI工具,如Tableau,不過這並沒有被探索更多。
三、內存中的數據處理
Shark允許用戶顯式地載入在內存中的數據,以加快查詢處理,其內存使用有效率的,壓縮的面向列的格式。Impala還沒有提供在內存中的存儲。
四、容錯
Shark被設計為支持短期和長時間運行的查詢。它可以從查詢故障恢復(感謝底層Spark引擎)。Impala目前是更側重於短查詢,不容錯(如果節點發生故障,查詢必須重新啟動,對短查詢來說這無疑是可以接受的)。
五、性能
做全面的比較太早了點。Shark和Impala都報告比Hive快10-100倍,但這都依賴具體情況和系統負載。兩個項目也都在未來6個月內會做重要優化。以我們的經驗來看,Sharkr當前版本,如果是內存的數據一般比Hive快100倍,如果是磁碟上的數據一般快5-10倍,這取決於查詢(帶關聯連接的查詢,能比Hive快很多)。