Apache Spark SQL 和 MongoDB 之间的区别?

Difference Between Apache Spark SQL and MongoDB?

我只有 RDBMS PostgresSQL 方面的经验 但我对 A​​pache Spark 和 MongoDB 是新手.
所以我有以下困惑请我

1) Apache Spark SQL 和 MongoDB 有什么区别?
2) 什么样的places/scenarios/domains我需要使用SparkSQL或MongoDB或组合方式?
3) Apache Spark 取代了 mondoDB、cassandra...?
4) 我在 MongoDB 中有数 TB 的数据,我想从中进行数据分析,然后需要提供报告。

所以请与我分享您的知识并提供您的意见

此致
香卡 S

这是两个不同的广泛问题,但我正在尝试回答:-

1) Apache Spark SQL 和 MongoDB 有什么区别?

Spark SQL 是 Apache Spark 提供的库,用于在 SQL 查询中对大数据进行并行计算操作。 MongoDB 是一个文档存储,本质上是一个数据库,因此无法与 Spark 进行比较,Spark 是一个计算引擎,而不是一个存储。

2) 什么样的places/scenarios/domains 我需要使用 SparkSQL 或 MongoDB 或组合方式?

SparkSQL 非常适合处理在 Spark 集群中导入的结构数据。 Mongodb 可以是您需要 NoSQL 功能的理想选择(它具有完整的 NoSQL 功能,与 SparkSQL 相比)

3) Apache Spark 正在取代 mondoDB、cassandra...?

不完全是因为它们在不同的范围内。 Apache Spark 并没有取代,但可以被称为 Map-reduce 的继任者,用于大数据集的并行计算。

4) 我在 MongoDB 中有数 TB 的数据,我想从中进行数据分析,然后需要提供报告。

使用 spark dataframe 使用 jdbc 驱动程序从 MongoDB 中读取数据,然后您可以 运行 在 dataframe 上进行一些 Spark SQL 查询,然后您可以使用 pyplot 等其他可视化工具生成报告。

谢谢,

查尔斯.

1) Apache Spark: Apache Spark 用于在 SQL 查询中对大数据进行并行计算操作。

MongoDB: MongoDB 是一个文档存储,本质上是一个数据库,因此无法与 Spark 进行比较,Spark 是一个计算引擎,而不是一个存储。

2) SparkSQL 非常适合处理在 Spark 集群中导入的结构数据,您有数百万数据可用于大计算。 Mongodb 可用于您需要 NoSQL 功能的地方(它具有完整的 NoSQL 功能,与 SparkSQL 相比)。

3) 没有 Apache Spark 用于不同的目的,你不能用 mondoDB 代替它,cassandra.It 就像计算引擎给你预测 large data sets

的结果

4) 使用像 SLAM DATA 这样的第三方服务 http://slamdata.com/ 来应用 mongodb 分析也使用 从 MongoDB

读取数据的 spark 数据帧