hive資料插入檔案
資料交換
load data local inpath '/home/dayongd/downloads/employee.txt'
overwrite into table employee;
#local表示檔案位於本地,overwrite表示覆蓋現有資料
load data local inpath '/home/dayongd/downloads/employee.txt'
overwrite into table employee_partitioned partition (year=2014, month=12)
;#沒有local,檔案位於hdfs檔案系統中
load data inpath '/tmp/employee.txt'
overwrite into table employee_partitioned partition (year=2017, month=12)
;
##insert支援overwrite(覆蓋)和into(追加)
insert overwrite/into table tablename1
[partition (partcol1=val1, partcol2=val2 ...)
]select fileds,... from tb_other;
#多插入(高效能:只需掃瞄一次輸入資料)
from ctas_employee
insert overwrite table employee select *
insert overwrite table employee_internal select *;
#通過指定列插入(insert into可以省略table關鍵字)
#指定列有利於 data schema changes
insert into employee(name)
select
'john' from test limit 1;
#通過指定值插入
insert into employee(name) values(
'judy'
),('john'
);
案例:
#建立表emp_ins
#開啟動態分割槽
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
#插入資料
#插入到分割槽(典型的etl模式)
案例:從同一資料來源插入本地檔案,hdfs檔案,表
#插入本地檔案
from emp_multi_ins
insert overwrite local directory '/root/abc/emp_multi_ins.txt'
row format delimited fields terminated by ','
select *
#插入hdfs檔案
insert overwrite directory 'emp/emp_multi_ins.txt'
row format delimited fields terminated by ','
select *
#插入表
以指定格式插入資料
from emp_multi_ins
insert overwrite directory 'emp/emp_multi_ins.txt'
row format delimited fields terminated by ','
select * ;
其他方式從表獲取檔案
#其他方式從表獲取檔案
NIFI 檔案資料寫入hive
目的 nifi使用背景 希望借助nifi監控某個目錄,能夠將被監控目錄下的資料檔案採集並寫入hive中去。nifi提供了puthiveql puthivestreaming putsql三種processor,這三種processor對flowfile的要求也不盡相同。本文選用了如下圖1所示的幾種p...
Hive插入資料
1 建立完表之後,就可以插入資料了,在hive中,一般使用load data插入資料,資料 一般為兩種,一種是從本地檔案系統,第二種是從hadoop檔案系統。基本語法如下 load data local inpath filepath overwrite into table tablename p...
Hive之插入資料
hive之插入資料 使用sql語句建立乙個表,如下 create table id int,name string,addr string t 1 新建乙個檔案test01.txt。並往其中寫入資料 vi test01.txt 1 gaoyuliang handong 2 houzi beijing...