【问题标题】:Spark streaming can we create a thread on executorSpark Streaming 我们可以在 executor 上创建一个线程吗
【发布时间】:2016-10-23 08:06:05
【问题描述】:

我有一个关于火花流的问题。在我的 spark 流应用程序中,我有一个代码作为任务在 worker/executor 上运行(在处理 RDD 时在 foreachPartition() 内部)。我想创建一个线程作为此代码的一部分,该线程从启动到执行程序处于活动状态,将在执行程序/工作程序上连续运行,监听一些外部事件并基于此采取一些行动。

这可以在火花流中做到吗?

【问题讨论】:

    标签: multithreading apache-spark rdd


    【解决方案1】:

    您可以尝试将其放入自定义接收中。您可以在Implementing a Custom Receiver 中找到一些详细信息。否则它不太适合 Spark 流。

    可以在驱动器上启动线程,但我知道这不是您想要的。

    【讨论】:

    • 您好,感谢您的快速回复。实际上,我在代码中使用了一个库,它在执行程序/工作程序上运行。这个库产生一个线程,并创建一个与存储(cassandra)的连接和另一个与存储管理器的连接。每当存储中发生更改时,存储管理器都会通知我的库代码(线程),以便库代码(线程)可以获取这些更改并将它们保存在本地缓存中,以供 Spark 任务/作业将来查找。这与 Spark 配合得好吗?
    猜你喜欢
    • 1970-01-01
    • 2021-12-05
    • 2011-05-31
    • 2021-11-20
    • 1970-01-01
    • 2015-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多