我想在输出文件夹中写入数据,而不需要标准格式的 spark:
有什么方法可以输出只有特定文件名和扩展名(json)的数据吗?
提前感谢您的帮助!
不,没有。Spark 的预期用例不是将所有内容都放在一个分区然后写入。为了保持一致的行为,写入数据集时忽略 DataFrame 的分区数,始终创建一个文件夹,该文件夹中的每个文件都与正在处理的分区相关。
但是,如果您知道驱动程序可以保存分区,那么您可以使用标准 Python 功能:
import json
data = [row.asDict() for row in dataframe.collect()]
with open("name_of_file.json", "w") as fh:
json.dump(obj=data, fp=fh)
请注意,在这种情况下,虽然您不会获得 JSONlines 格式,但也有一些解决方法。