Это две разные и широкие вопросы, но я делаю попытку ответить: -
1) Что это разница между Apache Spark SQL и MongoDB?
Spark SQL - это библиотека, предоставляемая Apache Spark для выполнения параллельных вычислений на больших данных в SQL-запросах. MongoDB - это хранилище документов и, по сути, база данных, поэтому его нельзя сравнивать с Spark, который является вычислительной машиной, а не магазином.
2) В каких местах/сценариях/доменах мне нужно использовать SparkSQL или MongoDB или в сочетании?
SparkSQL может быть идеальным для обработки структурных данных, импортированных в Spark Cluster. Mongodb может быть идеальным, где вам нужны функции NoSQL (у него есть полные возможности NoSQL, по сравнению с SparkSQL)
3) Apache Spark заменяет собой как mondoDB, cassandra ...?
Не так, потому что они находятся в разных масштабах. Apache Spark не заменяет, но может быть вызван как преемник Map-reduce для параллельных вычислений на больших datsets.
4) У меня есть несколько терабайтов данных в MongoDB, из которых я хочу сделать аналитику данных, а затем необходимо предоставить отчеты.
Используйте искровой информационный кадр, чтобы читать данные MongoDB с помощью драйвера jdbc, а затем вы можете запускать некоторые SQL-запросы Spark на фреймворке данных, а затем вы можете использовать другие инструменты визуализации, такие как pyplot для создания отчетов.
Thanks,
Charles.
Спасибо, Wasiq Muhammad –