pyspark.inheritable_thread_target¶
-
pyspark。
inheritable_thread_target
( f:可調用的 )→可調用的¶ -
返回線程目標包裝建議用於PySpark固定線程模式時啟用。包裝器函數,在調用目標初始線程之前,它繼承了特定JVM線程如可繼承的屬性
InheritableThreadLocal
。同時,注意固定線程模式從Python不關閉連接到JVM線程完成後在Python的一麵。這個包裝器,Python執行垃圾收集線程實例並關閉連接正確完成JVM線程。
當固定線程模式,它返回原來的
f
。- 參數
-
- f 函數
-
原始線程的目標。
筆記
這個API是實驗性的。
重要的是要知道它捕獲局部屬性而當你裝修它
InheritableThread
當線程啟動捕獲。因此,鼓勵來裝飾它當你想獲取當地的屬性。例如,從當前引發局部屬性上下文捕獲當你定義一個函數,而不是調用:
> > >@inheritable_thread_target…deftarget_func():…通過#你的代碼。
如果你有任何更新局部屬性之後,它不會反映到火花上下文
target_func ()
。下麵的例子模擬JVM線程的行為盡可能:
> > >線程(目標=inheritable_thread_target(target_func))。開始()