1. Nginx的日志可以通過Flume抽取到HDFS上。
2. Mysql的數(shù)據(jù)可以通過 Sqoop 抽取到 Hive 中,同樣 Hive 的數(shù)據(jù)也可以通過 Sqoop 抽取到 Mysql 中。
3. HDFS上的一些數(shù)據(jù)不規(guī)整,有很多垃圾信息,可以用Hadoop或者Spark 進(jìn)行處理并重新存入HDFS中。
4. Hive的表也可以通過 Hive 再做一些計(jì)算生成新的 Hive 表。
這些都算是ETL,其中 1 和 2 都比較典型,它們把數(shù)據(jù)從一個(gè)存儲引擎轉(zhuǎn)移到另一個(gè)存儲引擎,在轉(zhuǎn)移的過程中做了一定的轉(zhuǎn)換操作。
3 和4也同樣是ETL只是它們更側(cè)重的是數(shù)據(jù)的加工。
到了這一步,我們不再糾結(jié)于具體的ETL概念是什么,僅從自己的直觀理解上來定義ETL,不管嚴(yán)謹(jǐn)不嚴(yán)謹(jǐn),反正這些活ETL工程師基本都要干。
ETL是對數(shù)據(jù)的加工過程,它包括了數(shù)據(jù)抽取、數(shù)據(jù)清洗、數(shù)據(jù)入庫等一系列操作,大部分和數(shù)據(jù)處理清洗相關(guān)的操作都可以算是ETL。