hive sql對hdfs的操作最終都會轉化為mr任務,下面介紹如何將已經存在的hdfs檔案「匯入」hive表,很簡單
條件及要求:
1)hdfs檔案為經過lzo壓縮的seqfile
2)seqfile資料樣例
3)hive表是外在分割槽表
步驟1. 建立hive表
其中external和partitioned關鍵字指明表為外表和分割槽表,stored as sequencefile是專門指定載入seqfile資料來源的,如果是普通文字可換成textfile
步驟2.從hdfs載入資料
alter table biz_eagleeye add partition (pt='2013-02-28')
location '/group/tlog/zhiyuan';
hive.input.format = org.apache.hadoop.hive.ql.io.combinehiveinputformat
hive.input.format = org.apache.hadoop.hive.ql.io.combinehiveinputformat
步驟3.檢驗是否載入成功
select * from biz_eagleeye where pt='2013-02-28' limit 1000
如果需要每天載入乙個分割槽(對應hdfs路徑下的昨日的資料資料夾),可以通過指令碼建立乙個crontab定時任務自動完成
reference:
將hdfs檔案加入hive分割槽表中
先把檔案放入hdfs,或用flume採集到hdfs,參看另一篇,再把hdfs檔案載入到hive表中 alter table ods nshop.ods 01 releasedatas add partition bdp day 20191215 location hdfs hadoop01 9000...
直接將檔案put到Hdfs後建Hive表查詢資料
直接將檔案put到hdfs後建hive表查詢資料 由於業務需要,有時需要將其他地方的檔案資料匯入hdfs,然後建hive表進行資料查詢或資料業務統計。這裡演示如何將本地檔案先put到hive已存在的空表中,然後查詢資料。create table hive test.direct load file ...
將本地檔案匯入 Hive 案例
需求 將本地 export servers data student.txt 這個目錄下的資料匯入到 hive 的 student id int,name string 表中。1 資料準備 1 在 export servers data 這個目錄下準備資料 root hadoop01 export ...