Hive中如何查看数据来源文件和具体位置

通常用户在HIVE中用SELECT语句出来结果,无法确定结果是来自哪个文件或者具体位置信息,HIVE中考虑到了这点,在Virtual Column虚列中可以指定三个静态列:
1.  INPUT__FILE__NAME        map任务读入File的全路径
2.  BLOCK__OFFSET__INSIDE__FILE       如果是RCFile或者是SequenceFile块压缩格式文件则显示Block file Offset,也就是当前快在文件的第一个字偏移量,如果是TextFile,显示当前行的第一个字节在文件中的偏移量
3.  ROW__OFFSET__INSIDE__BLOCK        RCFile和SequenceFile显示row number, textfile显示为0
注:若要显示ROW__OFFSET__INSIDE__BLOCK ,必须设置set hive.exec.rowoffset=true;

测试:
1.
table:      test_virtual_columns
InputFormat:        org.apache.hadoop.mapred.TextInputFormat
query:    
select a, INPUT__FILE__NAME,BLOCK__OFFSET__INSIDE__FILE,ROW__OFFSET__INSIDE__BLOCK from test_virtual_columns;
result:

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/extra/

qweqwe  hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t3.txt        0       0
dfdf    hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t3.txt        7       0
sdafsafsaf      hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t3.txt        12      0
dfdffd  hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t3.txt        23      0
dsf     hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t3.txt        30      0
1       hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t1.txt        0       0
2       hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t1.txt        2       0
3       hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t1.txt        4       0
4       hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t1.txt        6       0
5       hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t1.txt        8       0
6       hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t1.txt        10      0
7       hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t1.txt        12      0
8       hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t2.txt        0       0
9       hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t2.txt        2       0
10      hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t2.txt        4       0
11      hdfs://10.2.6.102/user/hive/warehouse/tmp.db/test_virtual_columns/t2.txt        7       0

2.
table:     nginx
InputFormat:     org.apache.hadoop.hive.ql.io.RCFileInputFormat
query:    
select hostname, INPUT__FILE__NAME,BLOCK__OFFSET__INSIDE__FILE,ROW__OFFSET__INSIDE__BLOCK from nginx where dt='2013-09-01' limit 10;
result:

10.1.2.162      hdfs://10.2.6.102/share/data/log/nginx_rcfile/2013-09-01/000000_0       537155468       0
10.1.2.162      hdfs://10.2.6.102/share/data/log/nginx_rcfile/2013-09-01/000000_0       537155468       1
10.1.2.162      hdfs://10.2.6.102/share/data/log/nginx_rcfile/2013-09-01/000000_0       537155468       2
10.1.2.162      hdfs://10.2.6.102/share/data/log/nginx_rcfile/2013-09-01/000000_0       537155468       3
10.1.2.162      hdfs://10.2.6.102/share/data/log/nginx_rcfile/2013-09-01/000000_0       537155468       4
10.1.2.162      hdfs://10.2.6.102/share/data/log/nginx_rcfile/2013-09-01/000000_0       537155468       5
10.1.2.162      hdfs://10.2.6.102/share/data/log/nginx_rcfile/2013-09-01/000000_0       537155468       6
10.1.2.162      hdfs://10.2.6.102/share/data/log/nginx_rcfile/2013-09-01/000000_0       537155468       7
10.1.2.162      hdfs://10.2.6.102/share/data/log/nginx_rcfile/2013-09-01/000000_0       537155468       8
10.1.2.162      hdfs://10.2.6.102/share/data/log/nginx_rcfile/2013-09-01/000000_0       537155468       9

如果碰到有脏数据或者结果异常的时候,可以通过select这三个值来定位出错的原始文件和具体所在位置,很方便。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索hdfs
, hive
, hive zookeeper
, sqoop hive mysql
, 10
, 性能测试hdfs
, SequenceFile
, user
, nginx1.10.1
102
,以便于您获取更多的相关知识。

时间: 2024-12-26 09:10:10

Hive中如何查看数据来源文件和具体位置的相关文章

Spark处理存储于Hive中的Twitter数据

本文将介绍使用Spark batch作业处理存储于Hive中Twitter数据的一些实用技巧. 首先我们需要引入一些依赖包,参考如下: name := "Sentiment"version := "1.0"   scalaVersion := "2.10.6"   assemblyJarName in assembly := "sentiment.jar"   libraryDependencies += "org.

Word 2013中怎样设置自动恢复文件的保存位置

Word2013具有自动保存和自动恢复文件的功能,那么用于自动恢复的Word文件保存在什么位置呢?其实用户可以根据需要自定义设置自动恢复文件的保存位置,操作步骤如下所述: 第1步,打开Word2013窗口,依次单击"文件"→"选项"命令,如图2013041206所示. 图2013041206 单击"选项"命令 第2步,在打开的"Word选项"对话框中切换到"高级"选项卡,在"常规"区域单

Excel中轻松查看数据记录

不知道大家有没有这样的感觉,当你查看Excel数据表中某行记录时,由于数据表中的字段较多,需要拖动水平滚动条才能将整个表格的内容看完, 这样很容易"看走眼",不小心就会将上面一行或下面一行的内容错看成当前记录的数据.这样的数据交给领导,可是要挨批噢,其实通过下面的几行VBA代码, 你就可以轻轻松松地查看记录了,操作步骤如下: 打开某工作表(假设为"Sheet1"),单击"工具"菜单中的"宏",选择"Visual Ba

c#中结构体数据读写问题

问题描述 c#中结构体数据读写问题 做了个界面要显示的内容很多数据都是通过接口通讯发来如果不使用数据库把所有变量读到内存中用struct结构体建立个缓冲区接口数据进来,修改结构体中变量显示时从结构体中读取不知道可行么? 解决方案 C++中结构体数据的文件读写

oracle中导入导出数据备份数据库

原文:oracle中导入导出数据备份数据库                            数据库所在位置                         将数据导出到的文件名                    用户名  备份数据库 :exp csm/csm@127.0.0.1/orcl file=c:/baoan_1.1.0_20120816.dmp owner=(csm)                                              数据库所在位置   

大数据-大牛们,谁知道怎么查看hive中的sql有没有用到索引?

问题描述 大牛们,谁知道怎么查看hive中的sql有没有用到索引? 我通过CREATE INDEX ind_test_id_bit on table test(id) AS 'BITMAP' WITH DEFERRED REBUILD;alter index ind_test_id_bit on test rebuild;在test表建立了一个id列的索引,但是explain select count(1) from test where id = 38188211;看执行计划中并没有体现出引用

Apache Kylin权威指南2.2 在Hive中准备数据

2.2 在Hive中准备数据 2.1节介绍了Kylin中的常见概念.本节将介绍准备Hive数据的一些注意事项.需要被分析的数据必须先保存为Hive表的形式,然后Kylin才能从Hive中导入数据,创建Cube. Apache Hive是一个基于Hadoop的数据仓库工具,最初由Facebook开发并贡献到Apache软件基金会.Hive可以将结构化的数据文件映射为数据库表,并可以将SQL语句转换为MapReduce或Tez任务进行运行,从而让用户以类SQL(HiveQL,也称HQL)的方式管理和

csv-CFile写数据到文件中的问题

问题描述 CFile写数据到文件中的问题 使用CFile读写文件,将计算的多个类型结果(有long .int.cstring.double)输入到文本中的一行内,并用","隔开,形成csv格式.例如结果是:文件名:aaa.xxx,eee A:12% B:15% C:35%,D:38%,请教怎么写入文本.难道非要转换格式再输入,就不能像fwite一样一次写入文件中,aaa.xxx A:12% B:15% C:35,D:38%而且还要采用seekend()追加的方式进行吗 解决方案 你要的

《R数据可视化手册》——1.5 从SPSS文件中加载数据

1.5 从SPSS文件中加载数据 问题如何从SPSS文件加载数据? 方法foreign包中的函数read.spss()可以读取SPSS文件.若要读取SPSS文件中的第一张表: #只需首次使用时安装 install.packages("foreign") library(foreign) data <-read.spss("datafile.sav") 讨论foreign包中还有很多读取其他格式文件的函数,包括以下几种. read.octave():Octave