数据工程——Scala与Python的区别

数据工程——Scala与Python的区别

这实际上取决于你想在数据工程中做什么以及你想在哪里工作。我同意SQL和Python是最重要的入门工具,它可以让你获得比Scala多得多的机会。Scala市场是一个由Spark主导的超级市场,这实际上是一个非常不愉快的工作。这些公司往往被迫在内部办公,因此云开发机会稀少。与Python相比,它并没有什么好处,除非你打算完全使用Scala SWE。

你必须记住,两者在学习方面有很大的不同。Python非常简单,你不需要学习它,基本上你就会用了。另一方面,Scala是一种“可扩展语言”,它具有值得探索的深度,这将使你在未来数年不被淘汰。再说一次,如果你只学习编写Spark代码,那么除了Spark DSL,没有什么可学的。
数据工程职业道路:到底该选编程还是无码?
数据工程师Data Engineer的常用工具指南
2022年数据工程就业市场:对1000个FAANG职位信息进行分析
数据工程师都做哪些工作?带你了解我的一天

实际上,Python是一种中介语言,也是发展最快的编程语言之一。无论是使用Pandas进行数据处理,还是使用Seaborn创建可视化,或是使用TensorFlow进行深度学习,Python似乎都有一个适合一切的工具。我从未见过不懂Python的数据工程师。

Apache Beam:一个越来越受欢迎的数据处理框架,因为它可以进行流处理和批处理并在Spark上运行。

Scala并非在任何地方都能使用。此外,你应该知道,在Apache Beam中,语言选择是Java、Python、Go和Scala。因此,即使“只”了解Java,你也可以通过Apache Beam开始数据工程。

我们的推荐和建议——这些基于你的要求或业务需求:

  1. 如果你有时间并想提高你的软件工程技能,请选择Scala,但不要局限于Spark DSL。Scala是一种静态类型的编程语言,编译器在运行时知道每个变量或表达式。
  2. 如果你只想在数据工程工具包中使用一个工具,请选择Python,Python是一种动态类型的编程语言,其中变量在运行时被解释并且不按照预定义的结构定义变量。

强烈建议走Python路线,因为除了在Databricks内部之外,你将来还可以在其他用例中使用Python。通常来说,Python就像英语学习,你会在世界上的大多数地方找到它,而Scala则更像德语学习。

这因情况而定。这意味着,如果你是初学者,那么Python很容易学习而且你也很容易在互联网上找到学习材料。

  1. Python是发展最快的语言,拥有最大的用户群体。
  2. Python可以很容易地与任何技术连接,通过使用各种APIS来推送和传递数据。
  3. 如果你是DE、DA或DS角色,Python可以轻松地满足几乎所有的需求,并使你的职业生涯更加轻松。
  4. 在安装了一些支持性的库或包之后,Python几乎可以在任何环境中轻松运行。

在我的工作中,我一直发现它可以从任何资源中带来数据,例如Salesforce、Salesforce Marketing Cloud、SharePoint、Cloud- Technologies(Azure、AWS、GCP)、Data sources(SQL Server、MySQL、Postgress、Client house、Oracle或Teradata等)、  Amazon Marketplace乃至任何社交媒体平台,并可以从任何网站爬取数据。

如果你有C#或Java language的经验,你也可以选择Scala。

感谢阅读。你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Mukesh Singh
翻译作者:王文龙
美工编辑:过儿
校对审稿:Chuang
原文链接:https://macxima.medium.com/data-engineering-scala-or-python-4df5c6384ab4