pyspark.inheritable_thread_target

pyspark。 inheritable_thread_target ( f:可调用的 )→可调用的

返回线程目标包装建议用于PySpark固定线程模式时启用。包装器函数,在调用目标初始线程之前,它继承了特定JVM线程如可继承的属性InheritableThreadLocal

同时,注意固定线程模式从Python不关闭连接到JVM线程完成后在Python的一面。这个包装器,Python执行垃圾收集线程实例并关闭连接正确完成JVM线程。

当固定线程模式,它返回原来的f

参数
f 函数

原始线程的目标。

笔记

这个API是实验性的。

重要的是要知道它捕获局部属性而当你装修它InheritableThread当线程启动捕获。因此,鼓励来装饰它当你想获取当地的属性。

例如,从当前引发局部属性上下文捕获当你定义一个函数,而不是调用:

> > >@inheritable_thread_targetdeftarget_func():通过#你的代码。

如果你有任何更新局部属性之后,它不会反映到火花上下文target_func ()

下面的例子模拟JVM线程的行为尽可能:

> > >线程(目标=inheritable_thread_target(target_func))开始()