Pyspark调用wholeTextFiles已传路径仍提示缺失path参数怎么解决
Pyspark wholeTextFiles参数报错解决方案
错误根因
你触发报错的核心原因有两个:
wholeTextFiles是SparkContext实例对象的成员方法,不能直接用pyspark.SparkContext类本身调用。你直接调用类方法时,传入的path参数会被识别为类方法要求的第一个self参数,系统因此判定你缺失必填的path参数,触发对应报错wholeTextFiles方法仅支持字符串格式的路径输入,不兼容Path对象,需要先转换为字符串格式
修复后代码
import pyspark from pathlib import Path # 初始化SparkContext实例 sc = pyspark.SparkContext(appName="readCsvWithFilename") str_path = "/home/user/Docs" path = Path(str_path) # 用实例调用方法,同时将Path对象转为字符串 rdd = sc.wholeTextFiles(str(path))
后续处理说明
调用该方法返回的RDD为键值对结构:
- 键:对应每个文件的完整路径字符串,你可以自行分割路径提取纯文件名
- 值:对应每个文件的全部文本内容,你可以后续按csv格式解析内容即可
内容的提问来源于stack exchange,提问作者carbassot
相关产品推荐
相关产品推荐

