Databricks display() 函数等效或替代 Jupyter
Posted
技术标签:
【中文标题】Databricks display() 函数等效或替代 Jupyter【英文标题】:Databricks display() function equivalent or alternative to Jupyter 【发布时间】:2018-02-17 22:03:08 【问题描述】:我正在将当前的 DataBricks Spark 笔记本迁移到 Jupyter 笔记本,DataBricks 提供了方便美观的显示(data_frame)功能,能够可视化 Spark 数据帧和 RDD,但 Jupyter 没有直接的等价物(我不确定但我认为它是 DataBricks 特有的功能),我试过了:
dataframe.show()
但它是它的文本版本,当你有很多列时它会中断,所以我试图找到一种替代 display() 的方法,它可以比 show() 函数更好地渲染 Spark 数据帧。是否有任何等效或替代方法?
【问题讨论】:
***.com/questions/26873127/… 谢谢,所以.show()
是数据块中display()
的更差版本(如果有)
如果您在 Jupyter 中使用 Scala Almond 内核,您可以使用此解决方案 github.com/almond-sh/almond/issues/180(在顶部添加 import org.apache.spark.sql.DataFrame
)
【参考方案1】:
当你使用 Jupyter 时,不要使用 df.show(),而是使用 myDF.limit(10).toPandas().head()。而且,有时,我们正在处理多个列,它会截断视图。 因此,只需将您的 Pandas 视图列配置设置为最大值。
# Alternative to Databricks display function.
import pandas as PD
pd.set_option('max_columns', None)
myDF.limit(10).toPandas().head()
【讨论】:
【参考方案2】:第一个建议:在使用 Jupyter 时,不要使用df.show()
,而是使用df.limit(10).toPandas().head()
,这样可以完美显示更好的Databricks display()
第二个建议:
齐柏林笔记本。只需使用z.show(df.limit(10))
齐柏林飞艇;
-
您将数据框注册为 SQL 表
df.createOrReplaceTempView('tableName')
插入以%sql
开头的新段落,然后以惊人的显示查询您的表格。
【讨论】:
【参考方案3】:在最近的 IPython 中,如果 df 是熊猫数据框,您可以只使用 display(df)
,它就可以工作。在旧版本上,您可能需要执行from IPython.display import display
。如果单元格的最后一个表达式的结果是 data_frame,它也会自动显示。例如this notebook。当然,表示将取决于您用来制作数据框的库。如果您使用的是 PySpark,并且默认情况下它没有定义好的表示,那么您需要教 IPython 如何显示 Spark DataFrame。例如,here 是一个教 IPython 如何显示 Spark Contexts 和 Spark Sessions 的项目。
【讨论】:
【参考方案4】:试试 Apache Zeppelin (https://zeppelin.apache.org/)。有一些很好的数据帧标准可视化,特别是如果您使用sql
解释器。还支持其他有用的解释器。
【讨论】:
以上是关于Databricks display() 函数等效或替代 Jupyter的主要内容,如果未能解决你的问题,请参考以下文章
FluentValidation.NET 等效于 [Display(Name)]
如何在 Databricks 中使用 Python 将数据框数组拆分为列