使用 hadoop組件 作爲 ETL 或 ELT 工具

看了IBM上的一個帖子:


http://www.ibm.com/developerworks/cn/data/library/bd-hivetool/
使用 Hive 作爲 ETL 或 ELT 工具


覺得,數據量很大的情況下,確實可以使用hadoop的組件來做ETL,hdfs存儲全部的原始數據,需要的時候通過Hive,sparkSQL或者Impala查詢。
前提就是先建議Hive外部表的metastore,然後供sparkSQL和Impala訪問。


hive metastore的架構關係(metastore三種部署方式,CDH5裏面按照Remote模式)



大致明白過程了,開工:


1、Hive的安裝




2、測試Hive建外部表(txt,csv,bz2,gz各種格式)






3、Hue中Impala訪問Hive表


有問題,剛纔Hive建的表哪裏去了?

http://www.cloudera.com/content/www/en-us/documentation/archive/impala/2-x/2-1-x/topics/impala_langref_sql.html


找到:

INVALIDATE METADATA [[db_name.]table_name]


刷新一下元數據,終於可以看到表格了。所以建議Impala中直接建表,直接查詢,不要一會Hive中操作,一會Impala,至於多用戶,那就只能用的時候刷新了。




後面就是可以不斷的上傳壓縮文件到hdfs,給足夠的可讀權限,通過Impala對這些文件進行訪問,分析,處理了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章