文章采集api(数据科学:Python好用框架的目的)

优采云 发布时间: 2021-12-27 08:08

  文章采集api(数据科学:Python好用框架的目的)

  说到ApacheSPark框架,数据科学(网络)社区分为两大阵营:有的认为Scala好用,有的认为Python好用。本文旨在比较两者的优缺点,供大家参考。

  

  ApacheSPark 是目前最流行的大数据分析框架(一)。它可以提供对 Scala、Python、Java 和 R 语言的 API 支持,但本文只讨论前两种语言。因为 Java 没有支持读写-评估-输出这个循环,R语言的普及度不高。前两个认为Scala好用的人说用Scala写ApacheSPark非常快。而且,作为静态类型的语音,Scala已经被编译并收录

在JVM(Java虚拟机)中。笔者认为每种方法都有其优缺点,最终的选择应该取决于应用程序的类型。

  性能

  Scala 通常比 Python 快 10 倍左右。 (因为JVM技术支持Scala语言的操作。)相比之下,Python作为动态语言,速度要慢很多。因为在 Python 中调用 ApacheSPark 库需要大量的代码处理。所以在性能上,Scala更适合调用有限的数据库。

  另外,Scala基于JVM技术,植根于Hadoop框架下的HDFS文件系统,因此与Hadoop框架具有非常好的交互和兼容性。相比之下,Python 和 Hadoop 框架之间的交互是可怕的。开发者甚至不得不使用第三方插件(如hadopy)。

  

  学习曲线

  两种语言都是函数式的、面向对象的语言,而且它们的语法结构相似。与 Python 相比,Scala 可能更复杂,因为它具有更高级的功能。 Python 适合于简单的逻辑处理,而 Scala 更适合于复杂的工作流。但是Python也不是没用,因为Python的语法简单,库也比较标准。

  并发

  Scala 拥有多个标准库,支持大数据生态系统中数据库的快速集成。它可以使用多个并发原语来编写代码,而 Python 不支持并发或多线程编写代码。但是,Python 支持重量级进程分支。只是一次只能激活一个线程。而且每次写新代码,都必须重启其他进程,这无疑会增加内存使用。

  实用性

  Python 的特点是简单易用。 Scala 在框架、库、隐式和宏方面有很大的优势。这也是 Scala 在 MapReduce 框架中表现出色的原因。由于 Scala 的 API 集合是一致的,因此许多 Scala 数据框架都遵循相似的数据类型。开发者只需学习其常用的标准库,即可轻松掌握其他库。 ApacheSPark 是用 Scala 编写的,所以了解 Scala 也可以帮助你认识和修改 ApacheSPark 的内部功能。但是对于 NLP,Python 是首选。 (因为 Scala 缺少机器学习或 NLP 的工具。)此外,Python 也是 GraphX、GraphFrames 和 MLLib 的最佳选择。 Python 的可视化库是对 Pyspark 的补充。这是 ApacheSPark 和 Scala 都没有的东西。

  代码恢复和安全

  Scala 是一种静态语言,它支持我们在编译过程中发现错误。而 Python 是一种动态语言。换句话说,每次更改现有代码时,Python 语音都更容易出错。因此,在 Scala 中重构代码比在 Python 中重构更容易。

  

  结论

  Python 运行缓慢,但很容易上手。 Scala 是最快的编程语言,学习能力中等。 Scala 可以帮助您更全面地了解 ApacheSPark,因为 ApacheSPark 是用 Scala 编写的(但并非绝对)。要知道,编程语言的选择取决于项目的特点,我们要根据项目的特点灵活选择。 Python面向分析,Scala面向工程,但这两种语言都是构建数据科学应用的优秀语言。总的来说,Scala 可以充分利用 ApacheSPark 的特性。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线