識別重複的數據添加操作

寫的chetan.kardekar

去年發表在:2022年5月10日


一個常見的問題在執行添加操作三角洲表重複數據。

例如,假設用戶1執行寫操作在δ表a。與此同時,用戶2三角洲上執行一個附加操作表答:這可能會導致重複的記錄的表。

在本文中,我們審查的基本故障排除步驟,您可以使用它們來識別重複的記錄,以及用戶名和筆記本或者工作,導致重複數據。

標識列重複的記錄

% sql select count(*), <列名稱> <表名稱>集團由<列名稱> <列名>訂單

識別所有列複製數據的輸出。

識別與重複的數據輸入文件

選擇一個數據點從之前的查詢和使用它來確定哪些文件提供重複數據。

% sql select *, input_file_name()作為路徑<表名稱>,<列名> = < any-duplicated-value >

輸出包含一個列路徑,確定每個輸入文件的完整路徑。

確定位置表

% sql描述表擴展<表名稱>

使用位置表搜索結果拚花的路徑

% sh - < filename-01 > .snappy grep - r的部分。拚花' / dbfs / user /蜂巢/倉庫/ < path-to-log > / _delta_log
% sh grep - r的一部分——<文件名- 02. -時髦。拚花' / dbfs / user /蜂巢/倉庫/ < path-to-log > / _delta_log

結果讓你識別影響三角洲版本。

檢查影響的三角洲曆史版本

%的sql select * from(描述曆史<表名稱>)t, t。版本(0,1)

三角洲曆史結果提供用戶名,以及筆記本或工作id導致三角洲表中重複出現。

既然你已經確定了重複數據的來源,您可以修改筆記本或工作,以防止它的發生。

例如筆記本電腦

檢查識別重複的數據追加的例子筆記本。

這篇文章有用嗎?