我已经在pyspark中创建了spark数据框,我想将过滤后的输出数据写入日志文件或文本文件。让我们将以下视为df
df=spark.sql(select * from tbl1)
我希望以下命令的输出在文本文件或日志文件中
df.select("col1").show(5)
我尝试了以下操作,但不起作用
with open("output.txt","a") as f:
f.write(tabulate(df.select("col1").show(5),tablefmt="pretty"))
图像中文本文件中的预期输出。
是否可以将输出写入具有列表结构的文本文件?
您可以使用df.select("col1").limit(5).collect()
。这将为您提供数组(或Python中的行对象列表),然后您可以按所需的格式编写它。我没有使用过制表法,所以我不知道如何使用它。但是,请注意,在生产中,永远不要使用此类选项。