如何将spark数据帧的输出作为python中的结构化输出写入日志文件

问题描述 投票:0回答:1

我已经在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"))

图像中文本文件中的预期输出。

是否可以将输出写入具有列表结构的文本文件?“在这里输入的图像描述” ”在此处输入图片描述“

python apache-spark pyspark pyspark-sql pyspark-dataframes
1个回答
0
投票

您可以使用df.select("col1").limit(5).collect()。这将为您提供数组(或Python中的行对象列表),然后您可以按所需的格式编写它。我没有使用过制表法,所以我不知道如何使用它。但是,请注意,在生产中,永远不要使用此类选项。

© www.soinside.com 2019 - 2024. All rights reserved.