簡體   English   中英

Databricks display() function 相當於或替代 Jupyter

[英]Databricks display() function equivalent or alternative to Jupyter

我正在將當前的 DataBricks Spark 筆記本遷移到 Jupyter 筆記本,DataBricks 提供了方便漂亮的顯示(data_frame)function 以便能夠可視化 Spark 數據幀和 RDD,但是沒有直接等同於 Jupyter(我不確定,但我認為它是 DataBricks 特定的功能),我試過:

dataframe.show()

但它是它的文本版本,當你有很多列時它會中斷,所以我試圖找到 display() 的替代方法,它可以比 show() 函數更好地呈現 Spark 數據幀。 有什么等價物或替代品嗎?

當您使用 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() 在此處輸入圖片說明

第一個建議:當你使用 Jupyter 時,不要使用df.show()而是使用df.limit(10).toPandas().head()這會導致完美顯示甚至更好 Databricks display()

第二個推薦:Zeppelin Notebook。 只需使用z.show(df.limit(10))

另外在齊柏林飛艇;

  1. 您將數據df.createOrReplaceTempView('tableName')注冊為 SQL Table df.createOrReplaceTempView('tableName')
  2. 插入以%sql開頭的新段落,然后以驚人的顯示查詢您的表。

在最近的 IPython 中,如果 df 是熊貓數據幀,您可以只使用display(df) ,它就可以工作。 在舊版本上,您可能需要執行from IPython.display import display 如果單元格的最后一個表達式的結果是 data_frame,它也會自動顯示。 比如這個筆記本 當然,表示形式取決於您用來制作數據框的庫。 如果您使用的是 PySpark 並且默認情況下它沒有定義一個很好的表示,那么您需要教 IPython 如何顯示 Spark DataFrame。 例如,是一個教 IPython 如何顯示 Spark 上下文和 Spark 會話的項目。

無需轉換為 pandas dataframe。使用此...這將在適當的網格中呈現 dataframe。

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

df.show()

您可以設置配置spark.conf.set('spark.sql.repl.eagerEval.enabled', True) 這將允許在不明確使用 df.show() 的情況下顯示本機 pyspark DataFrame 並且也不需要將 DataFrame 傳輸到 Pandas ,您只需要df

試試 Apache Zeppelin ( https://zeppelin.apache.org/ )。 數據框有一些很好的標准可視化,特別是如果您使用sql解釋器。 還支持其他有用的解釋器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM