在上一篇文章中,我们探讨了数据工程的入门知识,包括数据科学家和数据工程师的区别,以及完整的数据工程蓝图,接下来我们介绍数据工程师应该具备哪些基础技能。
原文来源于Github开源项目《The Data Engineering Cookback》
作者:Andreas Kretz
感兴趣可以查看:Data Engineering Cookbook
学会编程
为什么这很重要:没有代码,你无法完成数据工程的任务。
可能性是无穷的:
- 从SQL数据库中写入和读取数据
- 将消息写入Kafka主题
- 了解Java Web服务的源代码
- 从HBase键值存储中读取统计信息
那么学习哪门语言?我强烈推荐Java。
当你开始使用Spark处理数据时,应该使用scala。掌握了Java后很容易转移到Scala。
Python也是一个不错的选择,它是超级万能的。
Udemy上有一个Java入门课程,感兴趣可以去看看:面向初学者的java编程
- 面向对象编程(OOP)
- 单元测试
- 函数式编程
- 如何使用Maven
我在这个播客中谈到了边做边学的重要性:Learning by doing
熟悉Git
为什么这很重要:编程的一个主要问题是跟踪变化,维护一个有多个版本的程序几乎是不可能的。
另一个问题是协作和文档,这是非常重要的。
假设您正在处理一个Spark应用程序,而你的同事需要在你度假时进行优化。如果没有代码管理,它们将面临巨大的麻烦,比如:
- 从哪里访问代码?
- 上次修改了哪些内容?
- 在哪里阅读项目文档?
- 如何对修改的内容做出标记?
如果你把代码放在GitHub上,你的同事就可以轻松地访问,他们可以通过文档来理解你的代码。
开发人员可以提取你的代码,创建一个新的分支并进行更改。假期过后,你可以检查他们的工作,并将其与你的原始代码合并,最终你只有一个应用程序。
如何学习Git?Github官方指南是最好的起点:GitHub Guides,你可以学习到一切所需的基础知识。
Altassian的git指南是必不可少的的案头参考: