只是想知道,为了知道Spark是不是正确的工具,有没有什么问题可以问我们自己?
我再一次花了一周的时间用Apache Spark实现了一个POC,以便与纯python代码进行性能比较,当我看到1/100的比率(更倾向于python)时,我感到困惑。
我知道Spark是一个“大数据”工具,每个人都在说"Spark是处理TB/PB级数据的合适工具“,但我认为这不是唯一需要考虑的因素。
简而言之,我的问题是,当给定小数据作为输入时,我如何知道计算是否会消耗足够的资源,以便Spark能够真正改善事情?
发布于 2017-06-02 16:59:34
我不确定是否有这样的列表,但如果有,第一个问题可能是
您的数据是否适合在一台机器上使用?
如果答案是“是”,你就不需要Spark了。
Spark被设计为处理大量数据,因此作为Hadoop的替代方案,单台机器无法以容错方式处理这些数据。
与单机上的传统工具相比,与分布式操作相关的大量开销,如容错和网络,会导致明显的速度减慢。
因为Spark可以用作小型数据集上的并行处理框架,但这并不意味着它应该以这种方式使用。比方说,通过使用Python并使用线程并行处理,您将获得更快的结果和更低的复杂性。
当您必须处理不适合单个计算机的数据集时,当处理过程复杂而耗时,遇到基础架构问题的可能性足够高,失败将导致重新从头开始时,Spark非常有用。
将Spark比作原生Python就像将火车头比作自行车。自行车又快又敏捷,除非你需要把几吨钢材从这个国家的一端运到另一端:然后--就没那么有趣了。
https://stackoverflow.com/questions/44323278
复制相似问题