pyspark - 如何将 PySpark 中的 DataFrame 输出保存到 TextFile?
问题描述
我在下面有一个 DataFrame(表),我在 _3 和 _4 列上使用 sum 函数。
df.show()
+---------+------+---+---+
| _1| _2| _3| _4|
+---------+------+---+---+
| playerID|yearID| HR|RBI|
|aardsda01| 2004| 0| 0|
|aardsda01| 2006| 0| 0|
|aardsda01| 2007| 0| 0|
|aardsda01| 2008| 0| 0|
|aardsda01| 2009| 0| 0|
|aardsda01| 2010| 0| 0|
|aaronha01| 1954| 13| 69|
|aaronha01| 1955| 27|106|
|aaronha01| 1956| 26| 92|
|aaronha01| 1957| 44|132|
|aaronha01| 1958| 30| 95|
|aaronha01| 1959| 39|123|
|aaronha01| 1960| 40|126|
|aaronha01| 1961| 34|120|
|aaronha01| 1962| 45|128|
|aaronha01| 1963| 44|130|
|aaronha01| 1964| 24| 95|
|aaronha01| 1965| 32| 89|
|aaronha01| 1966| 44|127|
+---------+------+---+---+
only showing top 20 rows
我想将以下输出存储到 TextFile。
df.agg({'_3':'sum','_4':'sum'}).show()
+--------+---------+
| sum(_3)| sum(_4)|
+--------+---------+
|264983.0|1642662.0|
解决方案
这个问题是重复的。
您可以使用 databricks 格式将输出保存为文本文件:
myDF.write.format("com.databricks.spark.csv").option("header", "true").save("output.csv")
在您的情况下,您可以使用:
df.agg({'_3':'sum','_4':'sum'}).write.format("com.databricks.spark.csv").option("header", "true").save("output.csv")
推荐阅读
- android - Firebase 在注册前验证用户
- sdk - CX509PublicKeyClass 初始化因 WIN32 失败:13 ERROR_INVALID_DATA
- python - Pytube HTTPError:HTTP 错误 429:请求过多
- gem5 - 使用“gem5 scons build/X86/gem5.opt -j9”的 gem5 构建预计在虚拟机上运行多长时间?
- python - TensorFlow默认精度模式?
- c# - 启用 OrbitCam 脚本时,它正在更改相机视图和位置我如何启用它但保留相机视图和位置?
- postgresql - Postgresql,运行 sql 并得到错误:从标准输入复制失败
- java - 如何阻止自己的通知
- ssis - 使用条件拆分空检查更新空列
- r - 如何在 R 图表中仅显示特定轴值的一条水平线 - ggplot2