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))開始()