你好,
我麵臨一個問題,我希望得到一些幫助理解。
我已經創建了一個函數,應該檢查輸入數據是否已經存在於一個保存三角洲表,如果沒有,它應該創建一些計算和添加新的數據表。
當我運行代碼不保存數據,可以顯示dataframe(顯示(dataframe)),然而,在附加dataframe三角洲表的數據,顯示(dataframe)的新運行表明,忽然dataframe是空的。有人能幫我理解為什麼dataframe顯示為空,當唯一的變化是數據被保存到δ表?“顯示”在某種程度上再次運行連接函數?
謝謝你!
簡化代碼
#加載現有三角洲表
deltaDF = spark.read.format(δ).load (filePath)
#刪除任何行已經存在的數據是一樣的
條件=(<相關列的比較>)
noexistingDF = DF。加入(deltaDF, =條件=“left_anti”)
#執行一些額外的列的數據基於已經存在的數據
顯示器(noexistingDF) #成功顯示數據
#保存數據差值表
noexistingDF.write.format(“δ”).mode(“追加”).save (fileDestination)
顯示器(noexistingDF) #突然dataframe是空的