我想知道哪种语言/包在处理大数据方面表现更好更快?R 和 Python 都有用于处理和清理数据的包和库。但是哪些包和库在处理和清理大数据集方面表现最好?
哪一个在处理大数据方面表现更好,R 还是 Python?
我认为这可能会对您有所帮助: R语言是否适合大数据
我认为这实际上取决于您对什么感到满意以及您的目标是什么。在 Python 中,我可以直接在 Pandas 数据帧中执行 SQL 查询。从那里开始,数据清理和可视化(我喜欢 seaborn)相当简单。我可以使用 Numpy 轻松执行矩阵操作,而 sklearn 是一个有据可查的 ML 包。
话虽如此,我仍然喜欢 R,而且我肯定会使用 R。两者都学!
这实际上取决于您所说的“大数据”是什么意思。一个真正大的数据集无法放入内存中,在这种情况下,本地 python 和 R 真的只适用于较小规模的实验和原型设计。出于数据整理的目的,您需要通过基于切割、采样或聚合的切片来获得整个数据集的图片。无论如何,您都需要在分布式计算平台上工作。在我看来,python 在这方面有很大的优势,因为它与 Apache Spark 的接口非常健壮(而 R 接口似乎需要)。话虽如此,如果您精通 impala、pig 或 hive,您可以使用分布式查询语言进行分区,并创建可以在本地检查的数据。
这是个有趣的问题。我还看到人们提到 Spark 是事实上的。这是我的两分钱
- 大数据:数据的大小和目标是这里的关键。目标可以定义为
- 减少数据整理的计算时间
- 高效存储
- 处理来自不同来源的多种文件格式
- 提供数据汇总的能力,以便人们可以跟踪正在争论的数据。很容易出错,以正确的方式处理丢失的数据比看起来要困难得多。
R for BigData:如果能够解决存储问题,可以使用 R 本身进行很多争论。可能 NAS 还是我们的好朋友 HDFS。R 提供的聚合器数量非常详细和成熟(错误较少)。但是,R 的一个问题是语法不一致,并且很难在一段时间内管理代码。此外,如果您决定沿用 Spark 的路线,还有一个 SparkR 接口。
python for BigData:Pandas 和 Numpy 提供了一个非常好的包,可以有效地处理数据。类型可以通过
类型转换来保证,而不仅仅是依赖于鸭子类型。有一个与 Spark 的绑定,称为 pyspark,如果一个人决定从基于 python 的数据结构转移到 spark 数据帧/RDD,这可能会很有用。python中的数据争吵为 BigData 添加另一个 scala:Spark 原生使用
Scala 编写,是数据整理和数据建模的理想选择。与 python 和 R 不同,它支持功能范式以及 OOP 作为一等公民,因此可以轻松编写具有静态类型的可管理代码。Twitter 的家伙有一堆库来帮助一个人处理数据,例如algebird、scala collection api、 shapeless、slick
然后正如其他人所提到的,还有其他产品,例如 Pig、Hive(面向批处理)。结帐 Apache Drill(可能更适合您的需要)。如果您使用 Spark,那么 Spark SQL 也是一种选择。
总而言之,建议从 python 开始以确保安全,然后如果您觉得大小不再可管理并且需要更复杂的数据结构,则转到 pyspark。一旦您意识到您的需求可能是使用 Scala 来编写生产代码。让我知道我是否可以提供帮助,或者无论如何您需要更多信息或指导。谢谢