我正在使用火花累加器來收集每個管道的統計資訊。
在典型的管道中,我會讀取 data_frame :
df = spark.read.format(csv).option("header",'true').load('/mnt/prepared/orders')
df.count() ==> 7 rows
然后我實際上會將它寫在兩個不同的位置:
df.write.format(delta).option("header",'true').load('/mnt/prepared/orders')
df.write.format(delta).option("header",'true').load('/mnt/reporting/orders_current/')
不幸的是,每次write操作都會更新我的累加器統計資訊。它給出了一個 14 行讀取的數字,而我只讀取了一次輸入資料幀。
如何讓我的累加器正確反映我實際讀取的行數。
我是火花的新手。檢查了幾個圍繞該問題的執行緒,但沒有找到我的答案。 Python spark 中的 統計累加器重置累加器何時真正可靠?
uj5u.com熱心網友回復:
第一條規則 - 累加器不是 100% 可靠的。它們可以被更新多次,例如,如果任務被重新啟動/重試。
在您的情況下,雖然您閱讀了一次,但這并不意味著不會再次重新讀取資料。讀操作只是獲取元資料,如schema,如果你使用inferSchema某種資料型別,可能會讀取資料,但這并不意味著它實際上是將資料讀入記憶體。您可以快取讀取的資料幀,但它僅適用于較小的資料集,因為它也不能保證資料不會被驅逐,然后需要重新讀取
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/378886.html
標籤:阿帕奇火花 火花 azure-databricks 累加器
