Fabric PySpark中使用striprtf模块编写UDF报错问题
解决PySpark UDF调用striprtf模块报错的问题
问题根源
你遇到的"ModuleNotFoundError: No module named 'striprtf'"是因为:
- 直接用
pip install只会把模块装在PySpark的驱动节点 - UDF是在集群的执行器节点上并行执行的,这些节点上并没有安装
striprtf - 单独测试函数是在驱动节点运行,所以能正常工作
解决方案
在Microsoft Fabric Notebook中,必须用**魔法命令%pip**安装依赖,它会自动把包分发到所有执行器节点:
%pip install striprtf # 导入所需模块 from striprtf.striprtf import rtf_to_text from pyspark.sql.functions import col, udf from pyspark.sql.types import StringType # 定义UDF my_udf = udf(lambda x: rtf_to_text(x), StringType()) # 生成纯文本列 df.withColumn("plaintext", my_udf(col("formattedtext"))) \ .show(truncate=False)
额外注意
安装完成后,需要重启Notebook内核(Fabric界面右上角有重启按钮),再重新运行代码,确保依赖生效。
内容的提问来源于stack exchange,提问作者Sutit
相关产品推荐
相关产品推荐

