【发布时间】:2018-11-22 07:13:42
【问题描述】:
同行,
我们需要使用 Spark 2.1 标准化几乎 SQL 工作负载处理。我们目前正在讨论三个选项:RDD、DataFrames 和 SparkSQL。经过一天的对stackoverlow、论文和网络的梳理,我在下面进行了比较。我寻求有关表格的反馈,尤其是有关性能和内存的反馈。提前致谢。
+----------------------------+------------------+-- -------------+------------------------------------------------ ----+ |特色 | RDD |数据框 (DF) |火花 SQL | +----------------------------+------------------+-- -------------+------------------------------------------------ ----+ |星火一等公民 |是 |是 |是 | |本国的? [4] |核心抽象 | API |模块 | |一代 [5] |第一次 |第二|第三| |抽象 [4,5, |低级 API |数据处理 |基于SQL | | Ansi 标准 SQL |无 |一些 |近ansi [5] | |优化 |无 |催化剂 [9] |催化剂 [9] | |性能 [3,4,8 |混合视图 |混合视图 |混合视图 | |记忆 | ? | ? | ? | |编程速度 |慢 |快速 |处理 SQL 工作负载时更快 | +----------------------------+------------------+-- -------------+------------------------------------------------ ----+[3] Introducing DataFrames in Apache Spark for Large Scale Data Science by data bricks
[4] Spark RDDs vs DataFrames vs SparkSQL by Hortonworks
[5] A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets When to use them and why by data bricks
[6] Introducing Apache Spark 2.0 by data bricks
[7] Spark RDD vs Spark SQL Performance comparison using Spark Java APIs
[8] Spark sql queries vs dataframe functions on Stackoverflow
[9] Spark SQL: Relational Data Processing in Spark by data bricks, MIT, UC Berkeley
编辑以解释问题有何不同而不是重复:
感谢姐妹问题的参考。虽然我看到了详细的讨论和一些重叠,但我看到的很少(不是?):
(a) 关于 SparkSQL 的讨论,
(b) 三种方法的内存消耗比较,以及
(c) Spark 2.x 的性能比较(在我的问题中更新)。它引用了[4](有用),它基于spark 1.6
我认为我修改后的问题仍未得到解答。请求取消标记为重复。
【问题讨论】:
-
感谢妹子问题的参考。虽然我看到了详细的讨论和一些重叠,但我看到的很少(不是?):(a)关于 SparkSQL 的讨论,(b)三种方法的内存消耗比较,以及(c)Spark 2.x 的性能比较(更新在我的问题中)。它引用了基于 spark 1.6 的 [4](有用),我认为我修改后的问题仍未得到解答。 :-)
标签: apache-spark pyspark apache-spark-sql