我正在将当前的DataBricks Spark笔记本迁移到Jupyter笔记本,DataBricks提供了方便而美观的显示(data_frame)功能,可以直观地显示Spark数据帧和RDD,但Jupyter没有直接的等价物(我不确定)但我认为它是一个DataBricks特定功能),我试过:
dataframe.show()
但它是它的文本版本,当你有很多列时它会破坏,所以我试图找到一个替代display(),它可以渲染Spark数据帧比show()函数更好。有没有相同或替代品?
答案 0 :(得分:2)
在最近的IPython中,如果df是熊猫数据帧,你可以使用display(df)
,它就可以了。在旧版本上,您可能需要执行from IPython.display import display
。如果单元格的最后一个表达式的结果是data_frame,它也会自动显示。例如this notebook。当然,表示将取决于您用于创建数据帧的库。如果您使用PySpark并且默认情况下它没有定义好的表示,那么您将需要教IPython如何显示Spark DataFrame。例如here是一个教授IPython如何显示Spark上下文和Spark Sessions的项目。
答案 1 :(得分:1)
尝试Apache Zeppelin(https://zeppelin.apache.org/)。有一些很好的标准数据帧可视化,特别是如果你使用{{1}}解释器。此外,还支持其他有用的口译员。
答案 2 :(得分:1)
第一个建议:当你使用Jupyter时,不要使用df.show()
代替使用df.limit(10).toPandas().head()
,这样可以更好地展示更好的Databricks display()
第二项建议:
齐柏林笔记本。只需使用z.show(df.limit(10))
另外在Zeppelin;
df.createOrReplaceTempView('tableName')
%sql
开头的新段落,然后以惊人的显示方式查询您的表格。答案 3 :(得分:1)