如何在PySpark程序中将变量或数据帧打印到控制台?

2024-04-26 05:25:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Spark的新手,尝试着像使用熊猫进行数据分析一样使用它。你知道吗

在pandas中,要查看变量,我将编写以下内容:

import pandas as pd

df = pd.DataFrame({a:[1,2,3],b:[4,5,6]})
print(df.head())

在Spark中,我的打印语句不会打印到终端。基于David的comment on this answer,print语句被发送到stdout/stderr,有一种方法可以通过Yarn获得它,但他没有说明如何获得它。我找不到任何有意义的谷歌“如何捕捉stdout火花”。你知道吗

我想要的是一种查看我的一些数据的方法,以便对我的数据分析进行故障排除。”添加那个专栏有用吗?”诸如此类的事情。我也欢迎新的方法来解决更适合于大型数据集的问题。你知道吗


Tags: 数据方法import终端dataframepandasdfas
1条回答
网友
1楼 · 发布于 2024-04-26 05:25:02

是的,您可以使用不同的方式打印数据帧:

>>> l = [[1, 1], [2, 2], [3, 3], [4, 4], [5, 5]]

>>> spark.createDataFrame(l, ["a", 'b']).show()
+ -+ -+
|  a|  b|
+ -+ -+
|  1|  1|
|  2|  2|
|  3|  3|
|  4|  4|
|  5|  5|
+ -+ -+

>>> print(spark.createDataFrame(l, ['a', 'b']).limit(5).toPandas())
   a  b
0  1  1
1  2  2
2  3  3
3  4  4
4  5  5

df.show()将打印前20行,但您可以为n行传递一个数字。你知道吗

您还可以使用df.limit(n).toPandas()获得熊猫样式df.head()

相关问题 更多 >