Hive定位数据文件路径的方法

在hive中排查数据错位、脏数据时,需要知道数据的具体文件,可以通过虚拟列来帮助诊断定位。 * INPUT__FILE__NAME map任务读入的文件全路径 * BLOCK__OFFSET__INSIDE__FILE 如果是RCFile或者是SequenceFile块压缩格式文件则显示Block file Offset,也就是当前快在文件的第一个字偏移量,如果是TextFile,显示当前行的第一个字节在文件中的偏移量 * ROW__OFFSET__INSIDE__BLOCK RCFile和SequenceFile显示row number, textfile显示为0 譬如有表a,我们需要找到异常数据的具体位置,代码如下: select *,INPUT__FILE__NAME,BLOCK__OFFSET__INSIDE__FILE from a where ds=2019052901 and imei1='460017684629873' 得到如下结果: 拿到文件路径下载下来,就可以定位到具体的问题原因了