Apache Spark Databricks display()函数等效于或替代Jupyter

wwtsj6pe  于 2022-12-13  发布在  Apache
关注(0)|答案(6)|浏览(162)

我正在将当前的DataBricks Spark笔记本迁移到Jupyter笔记本,DataBricks提供了方便而美观的显示(data_frame)功能,能够可视化Spark Dataframe 和RDD,但Jupyter没有直接的等效功能(我不确定,但我认为这是DataBricks的特定功能),我尝试了:

dataframe.show()

但是它是一个文本版本,当你有很多列的时候,它会断开,所以我试图找到一个替代display()的方法,它可以比show()函数更好地呈现Spark Dataframe 。

qnyhuwrf

qnyhuwrf1#

当你使用Jupyter的时候,不要使用df.show(),而要使用myDF.limit(10).toPandas().head()。而且,有时候,我们在处理多个列的时候,它会截断视图。所以只要把你的Pandas视图列配置设置为max。

# Alternative to Databricks display function.
import pandas as pd
pd.set_option('max_columns', None)

myDF.limit(10).toPandas().head()

bbuxkriu

bbuxkriu2#

第一项建议:当您使用Jupyter时,不要使用df.show(),而应使用df.limit(10).toPandas().head(),这样可以获得更好显示效果数据块display()
第二项建议:齐柏林笔记本。只要使用z.show(df.limit(10))
另外在齐柏林飞艇;
1.将 Dataframe 注册为SQL表df.createOrReplaceTempView('tableName')
1.插入以%sql开头的新段落,然后以惊人的显示效果查询您的表。

kadbb459

kadbb4593#

在最近的IPython中,如果df是panda Dataframe ,则可以使用display(df),它会正常工作。在旧版本中,你可能需要执行from IPython.display import display。如果单元格的最后一个表达式的结果是data_frame,它也会自动显示。例如this notebook。当然,表示方式取决于你用来创建 Dataframe 的库。如果你使用的是PySpark,并且它没有定义一个很好的默认表示,那么你需要教IPython如何显示Spark DataFrame。例如,here是一个教IPython如何显示Spark上下文和Spark会话的项目。

hwamh0ep

hwamh0ep4#

不转换为Pandas Dataframe 。使用此...这将在适当的网格中呈现 Dataframe 。

from IPython.core.display import HTML
display(HTML("<style>pre { white-space: pre !important; }</style>"))

df.show()
zz2j4svz

zz2j4svz5#

您可以设置config spark.conf.set('spark.sql.repl.eagerEval.enabled', True)。这将允许显示本地pyspark DataFrame,而无需显式使用df.show(),也无需将DataFrame传输到Pandas,您所需要的只是df

axzmvihb

axzmvihb6#

试试ApacheZeppelin(https://zeppelin.apache.org/),它有一些很好的 Dataframe 的标准可视化,特别是如果你使用sql解释器的话,它也支持其他有用的解释器。

相关问题