【发布时间】:2020-03-23 01:26:42
【问题描述】:
我正在使用 EMR 阶跃函数来分析数据。
我想存储分析数据帧的计数,以决定是否可以将其保存为 csv 或 parquet。我更喜欢 CSV,但如果尺寸太大,我将无法下载它并在我的笔记本电脑上使用它。
我使用count() 方法将它存储到一个int 变量limit
当我尝试使用以下代码时:
coalesce(1).write.format("text").option("header", "false").mode("overwrite").save("output.txt")
上面写着:
int 没有任何名为 write 的属性
有没有办法将整数或字符串写入文件,以便我可以在我的 s3 存储桶中打开它并在 EMR 步骤运行后进行检查?
更新: 我尝试了@Shu 建议的数据框方法,但出现以下错误。
原因:org.apache.spark.SparkException:作业因阶段而中止 失败:阶段 13.0 中的任务 0 失败 4 次,最近一次失败: 在 13.0 阶段丢失任务 0.3(TID 19396,ip-10-210-13-34.ec2.internal, 执行程序 11):org.apache.spark.SparkException:任务失败,而 写行。在 org.apache.spark.sql.execution.datasources.FileFormatWriter$.org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask(FileFormatWriter.scala:257) 在 org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1.apply(FileFormatWriter.scala:170)
这可能是什么根本原因?
【问题讨论】:
标签: amazon-s3 pyspark amazon-emr