数据工程 - 您将在Python和SQL之后学习的技能
作者:互联网
SQL和Python有两个完全不同的目的,因为——
- SQL 用于编写针对关系数据库的查询。
- Python 是一种脚本语言,用于创建应用程序或运行科学和数学模块。
Python 可以调用数据库提供程序,而数据库提供程序又可以调用将数据返回到应用程序的 SQL 语句。
打个木工类比,学习Python和SQL就像学习使用锯子和凿子一样。一旦您精通这些工具,就该开始使用它们来完成项目了。对于木工来说,这可能是制作砧板或椅子。对于数据工程,就是写入数据管道。
许多人在过渡到专注于数据之前,还会获得更多的一般软件工程或架构经验。特别是“数据工程经验”有点小众,但更通用的软件工程或客户支持工程仍然会很好地转移到数据公司的类似角色,并开始让你接触到那里的应用程序和技术。
有一些重要的建议——
- 不要优先考虑学习一门新语言。如果你了解Python,如果你在工作中需要,你将能够选择其他语言。
- 不要优先考虑学习超过 1 种云服务 - 如果您了解 AWS,那么您可能会了解 GCP 或 Azure;概念是相同的。
- 不要花时间做1000个算法Python问题。数据工程师对SQL和Python的业务影响比大多数人意识到的要大得多。这不像软件工程那样需要针对O进行优化。
您可以在业余时间学习许多技术技能,如下所示-
- 需要专注于基础架构、云和 DevOps。所有这些都利用了AWS,GCP或Azure的强大功能。
- Spark 对复杂和嵌套数据类型具有惊人的支持,并对其进行了转换。它还具有执行大规模地理空间转换的能力。我不确定你提到的工具是否适合这些事情。Spark 将允许你接近给定数据处理作业可以获得的每次计算的最有效价值,但有一些后勤限制。如果你的数据不够大,无法保证这一点,或者你没有足够的专业知识或关心,那么确保其他事情更好。
- 学习 REST API,能够使用来自公共 API 的数据。转换数据并将其加载到数据库中。
- 数据建模是基础性的,无论出现什么工具(至少在未来几年内),数据建模都不会改变。将数据建模视为表的组织以及它们之间的关系。同样,当你建造一所房子时,你设计了一间卧室、一个客厅和一个厨房,然后为所有这些创造路径。您需要对架构执行相同的操作,以便您的用户(数据科学家和分析师)直观地知道如何利用您的数据集。
- AWS: 这可能也不会去任何地方。了解不同的工具,让您的生活更轻松:s3、redshift、glue、EC2 和 lambda 是很好的起点。选择一个副项目,并尝试尽可能多地利用这些工具。
- 培养您的数据平台系统设计技能,例如如何构建数据平台。您需要了解数据架构的基础知识。如何设计数据流?您会为OLTP或ODS或Data Lake选择哪种SQL或NoSQL变体?您的数据转换策略是什么?您的数据治理策略是什么?您的可视化策略是什么?您对自我修复数据平台的策略是什么?企业如何高效使用您的数据平台?
- 与气流、容器、CI/CD 的编排。这些将使管道更加多样化和复杂。它总是需要的,并且需要一些微妙之处来建立一个好的系统。
- 领导和人员管理技能。说真的,这些技能会对你的职业生涯产生真正的影响,如果你想让领导力远离你的尾巴。
最后但并非最不重要的一点是,我还会考虑一些较软的技能,如听力、研究、技术写作、产品管理等。培养技能,帮助您了解同事或客户的需求(而不仅仅是他们所说的想要什么),以书面形式与他们分享您的理解以获得他们的同意,然后能够通过良好的沟通按时交付产品。