天天看點

DataWorks百問百答52:如何做無效表治理?

在數倉開發中,随着業務的增長和變化,數倉裡會有越來越多的資料表,同時也會産生非常多的無效表,占用着數倉中大量的存儲資源,且影響資料複用。那對于無效表,我們又該如何治理呢?

在這裡,我将無效表定義為:空表和長期無通路的表。

空表的存在,會影響資料檢索和複用,建議定期清理。長期無通路的表,會持續占用數倉中的存儲資源,同樣建議定期清理。那如何在數倉這麼多的表裡,發現空表和長期無通路的表呢?DataWorks的資源優化子產品中,有一個資料存儲優化,能将MaxCompute中的空表、90天未通路的表都篩選出來,便于使用者進行治理。

空表

DataWorks資源優化對空表的定義為:每日淩晨資料存儲量為0的資料表。

治理建議:在治理空表時,建議按建立時間正序處理,避免那些提前建立的資料表被誤删;同時由于淩晨是離線任務産出資料的高峰期,可能會存在部分表在淩晨是以insert overwrite的方式寫入資料,在識别資料時,有一定機率會因為識别時,資料被清空而導緻被判定為空表,故在治理時,可以參考表下遊數,當下遊數為0時,表示沒有被下遊表依賴。

如某張表出現了上述治理建議中提到的誤識别,可先為該表申請添加至白名單,産品側也會不斷完善識别規則,降低誤判。
DataWorks百問百答52:如何做無效表治理?

長期無通路的表

DataWorks資源優化對長期無通路的表,有一個最近90天未通路表的治理項,其定義為:最近90天内該表未被通路(查詢表資料、同步表資料等,都屬于通路)。

治理建議:在治理最近90天未通路表時,需深入了解該表的産出情況及通路情況,可以點選表名進入表詳情頁,先檢視表的産出情況,是否每日穩定産出,再檢視表的最近通路時間。若資料每日有穩定産出,但又沒有下遊通路,需與該表的業務方進行溝通,是否業務已經停用。若業務不确認是否還在使用,可以考慮先将産出任務暫停,将表的生命周期調小(比如:将表生命周期調整為7天,生命周期到期後資料會自動被回收);如業務确認該表已經被廢棄了,可以直接删除。

無法找到業務方,難以确認是否可删除,可以短期将其添加至白名單中,但仍需盡快與業務方溝通,對齊處理方案。
DataWorks百問百答52:如何做無效表治理?

小結

以上是DataWorks資源優化對空表和最近90天未通路表問題的處理方案,目前資源優化對無效表的治理項判定原則還在不斷完善中,大家對無效表的治理有任何想法和建議都歡迎加入釘釘群回報。

資源治理專項溝通釘釘群二維碼如下,歡迎大家一起交流資源治理相關問題。

DataWorks百問百答52:如何做無效表治理?
DataWorks百問百答52:如何做無效表治理?

DataWorks百問百答曆史記錄

請點選這裡檢視>>

更多DataWorks技術和産品資訊,歡迎加入

【DataWorks釘釘交流群】