哪一个在处理大数据方面表现更好,R 还是 Python?

数据挖掘 数据挖掘 大数据 数据清理 数据 数据争吵
2022-02-19 12:35:53

我想知道哪种语言/包在处理大数据方面表现更好更快?R 和 Python 都有用于处理和清理数据的包和库。但是哪些包和库在处理和清理大数据集方面表现最好?

4个回答

我认为这可能会对您有所帮助: R语言是否适合大数据

我认为这实际上取决于您对什么感到满意以及您的目标是什么。在 Python 中,我可以直接在 Pandas 数据帧中执行 SQL 查询。从那里开始,数据清理和可视化(我喜欢 seaborn)相当简单。我可以使用 Numpy 轻松执行矩阵操作,而 sklearn 是一个有据可查的 ML 包。

话虽如此,我仍然喜欢 R,而且我肯定会使用 R。两者都学!

这实际上取决于您所说的“大数据”是什么意思。一个真正大的数据集无法放入内存中,在这种情况下,本地 python 和 R 真的只适用于较小规模的实验和原型设计。出于数据整理的目的,您需要通过基于切割、采样或聚合的切片来获得整个数据集的图片。无论如何,您都需要在分布式计算平台上工作。在我看来,python 在这方面有很大的优势,因为它与 Apache Spark 的接口非常健壮(而 R 接口似乎需要)。话虽如此,如果您精通 impala、pig 或 hive,您可以使用分布式查询语言进行分区,并创建可以在本地检查的数据。

错误的问题。大数据不是这个或那个语言的问题,而是集群计算的问题。对我来说,它隐含在定义中;如果你能找到一种方法来处理你的笔记本电脑上的数据,那它就不是大数据。

Spark 是当今集群计算的事实标准。它带有许多自己的 munging 原语,从多种语言中借用(想想数据框和函数式编程),并绑定到它们。就 Spark API 覆盖率而言,Scala 是最好的语言,其次是 python,然后是 R。如果您想尝试使用 Spark,您可以在DataProc上从 Google 租用托管实例,或者启动您自己的.

这是个有趣的问题。我还看到人们提到 Spark 是事实上的。这是我的两分钱

  1. 大数据:数据的大小和目标是这里的关键。目标可以定义为
    • 减少数据整理的计算时间
    • 高效存储
    • 处理来自不同来源的多种文件格式
    • 提供数据汇总的能力,以便人们可以跟踪正在争论的数据。很容易出错,以正确的方式处理丢失的数据比看起来要困难得多。
  2. R for BigData:如果能够解决存储问题,可以使用 R 本身进行很多争论。可能 NAS 还是我们的好朋友 HDFS。R 提供的聚合器数量非常详细和成熟(错误较少)。但是,R 的一个问题是语法不一致,并且很难在一段时间内管理代码。此外,如果您决定沿用 Spark 的路线,还有一个 SparkR 接口。

  3. python for BigData:Pandas 和 Numpy 提供了一个非常好的包,可以有效地处理数据。类型可以通过
    类型转换来保证,而不仅仅是依赖于鸭子类型。有一个与 Spark 的绑定,称为 pyspark,如果一个人决定从基于 python 的数据结构转移到 spark 数据帧/RDD,这可能会很有用。python中的数据争吵

  4. 为 BigData 添加另一个 scala:Spark 原生使用
    Scala 编写,是数据整理和数据建模的理想选择。与 python 和 R 不同,它支持功能范式以及 OOP 作为一等公民,因此可以轻松编写具有静态类型的可管理代码。Twitter 的家伙有一堆库来帮助一个人处理数据,例如algebirdscala collection apishapelessslick

然后正如其他人所提到的,还有其他产品,例如 Pig、Hive(面向批处理)。结帐 Apache Drill(可能更适合您的需要)。如果您使用 Spark,那么 Spark SQL 也是一种选择。

总而言之,建议从 python 开始以确保安全,然后如果您觉得大小不再可管理并且需要更复杂的数据结构,则转到 pyspark。一旦您意识到您的需求可能是使用 Scala 来编写生产代码。让我知道我是否可以提供帮助,或者无论如何您需要更多信息或指导。谢谢