如何直接写入HDFS文件而不是使用pythonspark中的saveAsTextFile?

2024-10-01 17:37:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经到了某种程度,我得到了groupByKey操作的结果。现在我想将每个(key, value)对写入不同的文件中,使用k作为它们的名称,v作为它们的内容。在

首先,我试图在驱动程序中收集这些结果,以便使用open()并写入本地文件,但由于结果的大小非常大,因此由于缓冲区溢出而失败。在

然后,我试图过滤这些(key, value)对来生成新的RDD,以便为每个新的RDD使用{},但是对于网络通信来说,它似乎变得太慢了。在

现在我想,如果我可以在groupByKeyRDD上使用foreach操作,并在每次迭代中直接写入HDFS文件,可能会更快,但我不知道python API中要引用哪个函数。有人能给我举些例子或者告诉我在pyspark中实现目标的另一种方法吗?在

还有一个类似的问题here,但是这个解决方案是在scala中,而我想用python解决它,因为我在pyspark中找不到直接与HDFS通信的方法。在


Tags: 文件方法key名称内容value驱动程序hdfs

热门问题