首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PySpark程序中将变量或数据帧打印到控制台?

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

Stack Overflow用户
提问于 2019-11-06 15:01:29
回答 1查看 3.3K关注 0票数 1

我是Spark的新手,试着像使用Pandas进行数据分析一样使用它。

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

代码语言:javascript
运行
复制
import pandas as pd

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

在Spark中,我的print语句不会打印到终端。基于David的comment on this answer,打印语句被发送到stdout/stderr,有一种方法可以通过Yarn获得它,但他没有说明如何获取。我在谷歌上搜索“如何捕获stdout spark”找不到有意义的东西。

我想要的是一种查看部分数据的方法来解决我的数据分析问题。“添加该列有效吗?”诸如此类的事情。我也欢迎新的故障排除方法,这些方法更适合于大型数据集。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-06 15:08:43

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

代码语言:javascript
运行
复制
>>> 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()获取pandas样式的df.head()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58724686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档