簡體   English   中英

PySpark 在筆記本中等待完成(Databricks)

[英]PySpark Wait to finish in notebook (Databricks)

目前,我在一個單元格中使用火花 dataframe(自動加載器)時遇到了一些問題,可能需要一些時間來寫入數據。 然后,在下面的單元格中,代碼引用了第一個表所做的工作。 但是,如果由於 spark 的分布式特性而運行整個筆記本(特別是作為作業),則第二個單元在第一個單元完全完成之前運行。 如何讓第二個單元等待 writeStream 的完成而不將它們放在單獨的筆記本中。

例子:

單元格1

autoload = pysparkDF.writeStream.format('delta')....table('TABLE1')

單元格2

df = spark.sql('select count(*) from TABLE1')

您需要使用awaitTermination function 等待 stream 處理完成(請參閱文檔)。 像這樣:

  • 單元格 1
autoload = pysparkDF.writeStream.format('delta')....table('TABLE1')
autoload.awaitTermination()
  • 單元格 2
df = spark.sql('select count(*) from TABLE1')

盡管使用以下內容可能會更容易和更難出錯:

df = spark.read.table('TABLE1').count()

暫無
暫無

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

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