ETL工程师要学什么?

如题所述

技术方面:需要学习使用数据源、目标端工具的基本使用(如 oracle MySQL hive等);需要学习etl工具的安装配置常用错误解决(如 kettle DataStage infa sqoop datax等)

理论方面:懂得数仓分层架构,维度建模等。

从ETL的字面来看,它主要包含三大阶段,分别是数据抽取、数据转换、数据加载。

1.数据抽取

这个阶段的主要目标是汇总多种数据源,为下一步的转换做准备。

2.数据转换

这个阶段是ETL的核心环节,也是最复杂的环节。它的主要目标是将抽取到的各种数据,进行数据的清洗、格式的转换、缺失值填补、剔除重复等操作,最终得到一份格式统一、高度结构化、数据质量高、兼容性好的数据,为后续的分析决策提供可靠的数据支持。

3.数据加载

这个阶段的主要目标是把数据加载至目的地,比如数据仓库中。通常的做法是,将处理好的数据写成特定格式(如parquet、csv等)的文件,然后再把文件挂载到指定的表分区上。也有些表的数据量很小,不会采用分区表,而是直接生成最终的数据表。

了解了ETL这部分的工作主要做什么,接下来再来说作为ETL工程师需要具备哪些技能,这些也就是需要学习的重点——

1、精通SQL语言,具备存储过程开发能力,能熟练进行SQL查询优化;

2、熟悉Hive数据仓库设计,了解数据仓库模型及思想、维度建模思想,了解数据仓库;

3、熟悉Hadoop、Spark、Flink、Kafka等相关技术;

4、熟练Python、Java中至少一种语言;

5、熟悉Mysql、Nosql等常见数据库。

温馨提示:答案为网友推荐,仅供参考
相似回答