我正在尝试从 python 转换中调用的 pandas udf 进行日志记录。
因为在执行器上调用的代码不会显示在驱动程序的日志中。
我一直在寻找一些选项,但到目前为止最接近的选项是这个one https://stackoverflow.com/questions/40806225/pyspark-logging-from-the-executor
欢迎任何关于如何在驱动程序日志或构建下可用的任何其他日志文件中显示日志的想法。
import logging
logger = logging.getLogger(__name__)
@pandas_udf(schema, functionType=PandasUDFType.GROUPED_MAP)
def my_udf(my_pdf):
logger.info('calling my udf')
do_some_stuff()
results_df = my_df.groupby("Name").apply(my_udf)
这并不理想(因为它停止了代码),但你可以这样做
raise Exception(<variable_name>)
在 pandas_udf 内部,它为您提供指定变量的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)