1. 程式人生 > >Hive中檢視資料來原始檔和具體位置方法

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:

  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這三個值來定位出錯的原始檔案和具體所在位置,很方便。

相關推薦

Hive檢視資料原始檔具體位置方法

通常使用者在HIVE中用SELECT語句出來結果,無法確定結果是來自哪個檔案或者具體位置資訊,HIVE中考慮到了這點,在Virtual Column虛列中可以指定三個靜態列:   1. INPUT__FILE__NAME map任務讀入File的全路徑   2. BL

Hive資料表的關係如何在元資料刪除表

各表之間主鍵的關係圖 這個整理很不容易呀,能夠更好地瞭解他們,其中有一種場景需要使用的 傳統的方法刪除這張表: 方式一:僅刪除表中資料,保留表結構 truncate table 表名; (truncate用於刪除所有的行,這個行為在hive元儲存刪除資料是不可逆的) 或 d

使用spark將hive資料匯入到mongodb

import com.huinong.truffle.push.process.domain.common.constant.Constants; import com.mongodb.spark.MongoSpark; import com.mongodb.spark.config.WriteConf

Pig指令碼從Hiveload資料並存入到Hbase

1、我們先建一個Hive表test01: create table test01(name String, age int, phone String,province String, city String) ROW FORMAT DELIMITED FIELDS TERMINATED B

google瀏覽器 檢視記住的賬號密碼

  對於一個有“健忘症”的人來說,密碼形同虛設。。設定了就忘記,每次登陸都要重新設定密碼。。。       然後,無意中發現,谷歌瀏覽器點過一次記住密碼後,竟然可以明文檢視賬號和密碼!! 步驟: 1、開啟谷歌瀏覽器,在右上角的選單項中,選擇設定選項   2

hive獲取資料

MySQL中獲取資料 public RestMsg<Object> getZhen( HttpServletRequest request) { RestMsg<Object> rm = new RestMsg<Object>();

SparkStreaming消費Kafka資料 使用zookeeperMySQL儲存偏移量的兩種方式

Spark讀取Kafka資料的方式有兩種,一種是receiver方式,另一種是直連方式。今天分享的SparkStreaming消費Kafka中的資料儲存偏移量的兩種方式都是基於直連方式上的 話不多說 直接上程式碼 ! 第一種是使用zookeeper儲存偏移量 object Kafka

Hive資料模型

Hive 中主要包括 4 種資料模型:表(Table)、外部表(External Table)、分割槽(Partition)以及 桶(Bucket)。 Hive 的表和資料庫中的表在概念上沒有什麼本質區別,在 Hive 中每個表都有一個對應的儲存目錄。 外部表指向已經在 HDF

1.2 Vue例項資料,事件方法

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="https://cdn.jsdel

Sqoop把hive資料匯出到mysql

首先            官網上對sqoop的定義是: Sqoop是一個被設計用來在hadoop大資料平臺和結構化資料庫(比如關係型資料庫)之間傳輸批量資料的一個工具。既然是一個工具那麼用起來

通過spark-sql快速讀取hive資料

1 配置並啟動 1.1 建立並配置hive-site.xml 在執行Spark SQL CLI中需要使用到Hive Metastore,故需要在Spark中新增其uris。具體方法是將HIVE_CONF/hive-site.xml複製到SPARK_CONF目錄下,然後在該配置檔案中,新增hive.metast

如何快速地將Hive資料匯入ClickHouse

如何快速地將Hive中的資料匯入ClickHouse ClickHouse是面向OLAP的分散式列式DBMS。我們部門目前已經把所有資料分析相關的日誌資料儲存至ClickHouse這個優秀的資料倉庫之中,當前日資料量達到了300億。 在之前的文章如何快速地把HDFS中的資料

hive的行轉列列轉行

轉載於此 一、行轉列的使用 1、問題 hive如何將 a       b       1 a       b       2 a       b       3 c       d       4 c       d       5 c       d       6

sparksql讀取hive資料儲存到hdfs

package wondersgroup_0905_Test import org.apache.spark.sql.SparkSession object sparkHive { def main(args: Array[String]): Unit = { //資料庫名稱

vueaxios資料請求 getpost

axios(基於 promise 的 HTTP 庫) <script src="./vue.js"></script> <!-- 1. 引入axios檔案 --> <script src="./axios.js"></script&g

hive 的二級分割槽表動態分割槽表

二級分割槽表/管理表: create table emp_part1( empno int, empname string, empjob string, mgrno int, bi

c++利用巨集宣告定義變數

假設我們要定義一個配置類,類中包含了很多的配置成員,有一種通過巨集的方法可以讓我們方便的維護繁多的成員 在一個類中,定義一個變數需要型別,建構函式中給出的初始值。我們需要能夠像指令碼語言一樣進行配置變數: tconfig.h OPTION(m_data,OPT_INT,-1) OPTION(m_value

hive自帶function簡介使用

hive 預設自帶了很多函式,以方便我們的日常使用 我們可以使用show functions; 命令進行檢視目前可以使用的function; 可以使用如下的命令 檢視某一個函式的使用方法 hive (default)> desc function extended split; O

Hive資料壓縮

1.資料檔案儲存格式 下面簡介一下hive 支援的儲存格式 file_format: : SEQUENCEFILE | TEXTFILE -- (Default, depending on hive.default.fileformat configuration)

HTML5資料集dataset自定義屬性data-*

在html5中可為所有元素新增一種自定義的屬性,這種屬性的字首以data-開頭,比如:data-name,目的是為元素提供與頁面渲染無關,但與dom元素強相關的屬性。新增完自定義屬性後我們可以通過