Hive的“rowid”,
玩过Oracle的同学一定知道rowid=objectid+file#+block#+row#这个概念,其实在Hive里也有“Rowid”.
Hive里有虚拟列的概念,类似于Oracle里的伪列,其中三个虚拟列是:INPUT__FILE__NAME,BLOCK__OFFSET__INSIDE__FILE,ROW__OFFSET__INSIDE__BLOCK.
INPUT__FILE__NAME:MAPREDUCE读取的文件的URI
BLOCK__OFFSET__INSIDE__FILE:For blockCompressed files,表示RCFile Block orSequenceFile 当前块在文件中的偏移量;For non-block-compressedfiles, 表示当前行的偏移量.
ROW__OFFSET__INSIDE__BLOCK:当打开参数hive.exec.rowoffset(默认关闭)时会开启这个虚拟列特性,For non-block-compressed files这个值一直为0,否则表示行号.
本文转自MIKE老毕 51CTO博客,原文链接:http://blog.51cto.com/boylook/1336763,如需转载请自行联系原作者
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。