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各種格式)
有問題,剛纔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對這些文件進行訪問,分析,處理了。