查看原文
其他

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

数据应用学院 大数据应用 2023-08-17

今日份知识你摄入了么?

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



你必须记住,两者在学习方面有很大的不同。Python非常简单,你不需要学习它,基本上你就会用了。另一方面,Scala是一种“可扩展语言”,它具有值得探索的深度,这将使你在未来数年不被淘汰。再说一次,如果你只学习编写Spark代码,那么除了Spark DSL,没有什么可学的。



实际上,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。

原文作者:Mukesh Singh

翻译作者:王文龙

美工编辑:过儿

校对审稿:Chuang

原文链接:https://macxima.medium.com/data-engineering-scala-or-python-4df5c6384ab4


本周公开课预告


往期精彩回顾

如何为你的数据可视化找到正确的色板?

2022 年科学家必须知道的顶级MLOps工具数据

如何成为全栈数据科学家?

Kumu的ML工程:将模型转化为产品

如何用Pandas重写SQL查询语句?






点「在看」的人都变好看了哦

点击“阅读原文”查看数据应用学院核心课程

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存