我有一个与 Cassandra 数据库交互的 Django 应用程序,我想尝试使用 Apache Spark 在此数据库上运行操作。我有一些使用 Django 和 Cassandra 的经验,但我是 Apache Spark 的新手。
我知道要与 Spark 集群交互,首先我需要创建一个 SparkContext,如下所示:
from pyspark import SparkContext, SparkConf
conf = SparkConf().setAppName(appName).setMaster(master)
sc = SparkContext(conf=conf)
我的问题如下:我应该如何处理这个上下文?我应该在我的应用程序启动时实例化它并让它在执行期间运行,还是应该在每次在集群中运行操作之前启动一个 SparkContext,然后在操作完成时将其终止?
提前谢谢你。
最佳答案
最近几天我一直在研究这个,因为没有人回答我会发布我的方法。
显然,创建 SparkContext 会产生一些开销,因此在每次操作后停止上下文并不是一个好主意。
此外,显然,在应用程序运行时让上下文存在也没有什么坏处。
因此,我的方法是将 SparkContext 视为数据库连接,我创建了一个单例,在应用程序开始运行时实例化上下文,并在需要时使用它。
我希望这对某人有所帮助,并且我愿意接受有关如何处理此问题的新建议,我对 Apache Spark 还是个新手。
关于python - 如何在 Django 中管理 Apache Spark 上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39373608/