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)]

使用 sql 的 Databricks Windows 组

如何在 Databricks 中使用 Python 将数据框数组拆分为列

Databricks 时间戳格式 - 如何找到确切的格式?

如何列出 Azure Databricks 中的所有挂载点?

等效于 Chrome CSS 显示:-webkit-box 在其他浏览器上