1. Nginx的日志可以通过Flume抽取到HDFS上。
2. Mysql的数据可以通过 Sqoop 抽取到 Hive 中,同样 Hive 的数据也可以通过 Sqoop 抽取到 Mysql 中。
3. HDFS上的一些数据不规整,有很多垃圾信息,可以用Hadoop或者Spark 进行处理并重新存入HDFS中。
4. Hive的表也可以通过 Hive 再做一些计算生成新的 Hive 表。
这些都算是ETL,其中 1 和 2 都比较典型,它们把数据从一个存储引擎转移到另一个存储引擎,在转移的过程中做了一定的转换操作。
3 和4也同样是ETL只是它们更侧重的是数据的加工。
到了这一步,我们不再纠结于具体的ETL概念是什么,仅从自己的直观理解上来定义ETL,不管严谨不严谨,反正这些活ETL工程师基本都要干。
ETL是对数据的加工过程,它包括了数据抽取、数据清洗、数据入库等一系列操作,大部分和数据处理清洗相关的操作都可以算是ETL。