示例
hive本地檔案系統匯入資料到hdfs的hive表
hive>
load
data
local inpath '/data/st.txt'
into
table st;
hive>
select
*from st;
hdfs檔案匯入到hdfs的hive表#hdfs有檔案
hive>
load
data inpath '/hive/data/st.txt'
into
table st;
hive>
select
*from st;
#hdfs上沒有檔案,可以先從hive上傳檔案到hdfs,然後再匯入表
hive> dfs -put /
data
/st.txt /hive/
data/;
hive>
load
data inpath '/hive/data/st.txt' overwrite into
table st;
#覆蓋hive>
select
*from st;
建表並制定hdfs上的位置,然後put本地資料入錶hive>
create
table
ifnot
exists st1(id int
,name string)
row format delimited fields
terminated
by'\t' location '/hive/data/st1'
;hive> dfs -put '/data/st.txt'
'/hive/data/st1'
;hive>
select
*from st1;
直接插入資料hive>
insert
into
table st values(1
,'cindy');
hive>
select
*from st;
查詢其他表資料匯入hive表hive>
insert
into
table st partition
(month
=『202001』)
select id,name from hive_test where
month
='202001'
;#單錶查詢
hive>
select
*from st;
hive>
insert overwrite table st select id,name from hive_test union
select id,name from hive_test1;
#多表查詢
hive>
select
*from st;
通過查詢其他表建表hive>
create
table
ifnot
exists st1 as
select
*from st;
hive>
select
*from st1;
insert overwrite [local] directory 『路徑』 row format delimited fields terminated by row_format select * from table_name;
示例匯出到本地
hive>
insert overwrite local directory '/data/st'
row format delimited fields
terminated
by'\t'
select
*from st;
[root@hadoop01 /]
cd /data
[root@hadoop01 data] ll
[root@hadoop01 data]
cd st
[root@hadoop01 st] ll
[root@hadoop01 st]
cat 000000_0
匯出到hdfshive>
insert overwrite directory '/hive/data/st'
row format delimited fields
terminated
by'\t'
select
*from st;
[root@hadoop01 /] hadoop fs -cd /hive/data
[root@hadoop01 data] hadoop fs -ll
[root@hadoop01 data] hadoop fs -cd st
[root@hadoop01 st] hadoop fs -ll
[root@hadoop01 st] hadoop fs -cat 000000_0
hadoop命令get資料到本地
匯出庫表資料時,先導出到hadoop,再get到本地,不要直接get庫表到本地,否則會亂碼
[root@hadoop01 /] hadoop fs -get /user/hive/warehouse/hive_test/month=202001 /
data
/test.txt
[root@hadoop01 /]
cat/
data
/test.txt
用hive互動命令匯出資料到本地[root@hadoop01 /] hive -e 'select * from test.hive_test' > /
data
/test.txt
[root@hadoop01 /]
cat/
data
/test.txt
查詢都是類sql,排序重點了解一下 示例
mapreduce內部排序
hive>
set mapreduce.job.reduces=3;
#設定mapreduce任務的個數
hive>
show mapreduce.job.reduces;
#顯示mapreduce任務的個數
hive>
select
*from st sort by id;
#直接查詢看不到結果,因為他是三個reduce,會產生三個檔案
hive>
insert overwrite local directory '/data/st_sortby'
select
*from st sort by id desc
;#將結果匯入本地路徑,檢視檔案
[root@hadoop01 /]
cd /data/st_sortby
[root@hadoop01 /] ll
[root@hadoop01 /]
cat 000000_0
[root@hadoop01 /]
cat 000001_0
[root@hadoop01 /]
cat 000002_0
mapreduce內部排序+分割槽排序hive>
insert overwrite local directory '/data/st_distributeby'
select
*from st distribute by id sort by id desc
;#按mapreduce內部排序,且按照每個檔案內的id降序
[root@hadoop01 /]
cd /data/st_distributeby
[root@hadoop01 /] ll
[root@hadoop01 /]
cat 000000_0
[root@hadoop01 /]
cat 000001_0
[root@hadoop01 /]
cat 000002_0
cluster by公升序hive>
insert overwrite local directory '/data/st_distributeby'
select
*from st cluster by id;
#按mapreduce內部排序,且按照每個檔案內的id公升序
[root@hadoop01 /]
cd /data/st_distributeby
[root@hadoop01 /] ll
[root@hadoop01 /]
cat 000000_0
[root@hadoop01 /]
cat 000001_0
[root@hadoop01 /]
cat 000002_0
全量刪除
部分刪除
DML 資料操作語言
本小白日常oracle學習總結,若有錯誤望海涵,並希望大神能指點迷津 開發中使用的部分 主要指資料庫的查詢與更新 例如 select,update,查詢該使用者下的所有表 select from tab查詢某乙個表的表結構 desc 表名 select子句中可以直接使用四則運算 select子句對應...
DML 資料操作語言
dml的具體內容 1.插入資料 名字sql語句 注意說明 完全插入 insert into 表名 列名1,列名2,values 列值1,列值2,在表名後給出要插入的列名,在values後面給出列值,值得順序和個數必須與前面指定的列對應。不完全插入 insert into 表名 列名1 values ...
資料操作語言 DML
插入語句 insert 修改語句 update 刪除語句 delete 簡介 插入語句 語法 insert into 表名 列名.values 值.注意 插入的值的型別必須與列的型別一致或相容。不可以為null的列必須插入值,可以為null的值插入資料時列和值都不寫,如果列有的話用null值填充。列...