一个常见的问题在执行添加操作三角洲表重复数据。
例如,假设用户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导致三角洲表中重复出现。
既然你已经确定了重复数据的来源,您可以修改笔记本或工作,以防止它的发生。
例如笔记本电脑
检查识别重复的数据追加的例子笔记本。