有没有办法在不将Spark Dataframe 转换为Pandas的情况下绘制Spark Dataframe 中的信息?
做了一些网上研究,但似乎找不到一个方法。我需要自动保存这些图为.pdf,所以使用内置的可视化工具从数据库将无法工作。
现在,这就是我正在做的(作为一个例子):
# df = some Spark data frame
df = df.toPandas()
df.plot()
display(plt.show())
我想生成线图,直方图,条形图和散点图,而不需要将我的 Dataframe 转换为Pandas Dataframe 。谢谢!
4条答案
按热度按时间pkwftd7m1#
显示功能仅在databricks内核笔记本中可用,在spark中不可用
axzmvihb2#
Just to use
display(<dataframe-name>)
function with a Spark dataframe as the offical documentVisualizations
said as below.Then, to select the plot type and change its options as the figure below to show a chart with spark dataframe directly.
If you want to show the same chart as the pandas dataframe plot of yours, your current way is the only way.
ubof19bj3#
如果spark Dataframe “df”(* 如问题中所问 *)的类型为 “pyspark.pandas.frame.DataFrame',则尝试以下操作:
其中 column_name 是spark Dataframe “df”中的一列。
您可以尝试通过以下方法查找“df”的类型
还有其他功能,如
这可以在apache spark文档中找到:https://spark.apache.org/docs/3.2.1/api/python/reference/pyspark.pandas/api/pyspark.pandas.DataFrame.plot.bar.html
如果spark Dataframe 'df'的类型为*'pyspark.sql. dataframe.DataFrame'*,请尝试以下操作:
**注:**可能还有其他更好的方法。如果有,请在评论中建议他们。
bcs8qyzn4#
您可以收集数据,然后使用matplotlib将其绘制出来。从那里,您可以轻松地将输出保存为pdf格式。一个在python中收集数据的快速示例: