2 、資料匯出
1.1 向表中裝載資料(load)
1.1.1 語法
hive>
load
data
[local
] inpath '資料的path'
[overwrite]
into
table student [
partition
(partcol1=val1,…)
];
(1)load data:表示載入資料
(2)local:表示從本地載入資料到 hive 表(複製效果);否則從hdfs 載入資料到 hive 表(剪下效果)
(3)inpath:表示載入資料的路徑
(4)overwrite:表示覆蓋表中已有資料,否則表示追加
(5)into table:表示載入到哪張表
(6)student:表示具體的表
(7)partition:表示上傳到指定分割槽
1.1.2 實操案例
(0)建立一張表
hive (
default
)>
create
table student(id int
, name string)
row format delimited fields
terminated
by'\t'
;
(1)載入本地檔案到hive
hive (
default
)>
load
data
local inpath '/opt/module/hive/datas/student.txt'
into
table student;
(2)載入 hdfs 檔案到 hive 中
hive (
default
)> dfs -put /opt/module/hive/datas/student.txt /
user
/xiaoxq;
hive (
default
)>
load
data inpath '/user/xiaoxq/student.txt'
into
table student;
(3)載入資料覆蓋表中已有的資料
hive (
default
)> dfs -put /opt/module/hive/datas/student.txt /
user
/xiaoxq;
hive (
default
)>
load
data inpath '/user/xiaoxq/student.txt' overwrite into
table student;
1.2 通過查詢語句向表中插入資料(insert)
1.2.1 建立一張表
hive (
default
)>
create
table student2(id int
, name string)
row format delimited fields
terminated
by'\t'
;
1.2.2 基本模式插入資料
hive (
default
)>
insert
into
table student2 values(1
,'wangwu'),
(2,'zhaoliu'
);
1.2.3 根據查詢結果插入資料
hive (
default
)>
insert overwrite table student2
select id, name from student where id <
1006
;
1.3 查詢語句中建立表並載入資料(as select)create
table
ifnot
exists student3
asselect id, name from student;
1.4 建立表時通過location指定載入資料路徑
1.4.1 上傳資料到hdfs上
[xiaoxq@hadoop105 datas]$ hadoop fs -mkdir -p /stu3;
[xiaoxq@hadoop105 datas]$ hadoop fs -put stu3.txt /stu3
1.4.2 建立表,並指定在hdfs上的位置
hive (
default
)>
create external table
ifnot
exists student5(
id int
, name string
)row format delimited fields
terminated
by'\t'
location '/student'
;
1.4.3 查詢資料
hive (
default
)>
select
*from student5;
1.5 import 資料到指定 hive 表中hive (
default
)>
import
table student2 from
'/user/hive/warehouse/export/student'
;
2.1 insert 匯出
2.1.1 將查詢的結果匯出到本地(只能用overwrite 不能用into,語法規定)
hive (
default
)>
insert overwrite local directory '/opt/module/hive/datas/export/student'
select
*from student;
2.1.2 將查詢的結果格式化匯出到本地
hive(
default
)>
insert overwrite local directory '/opt/module/hive/datas/export/student1'
row format delimited fields
terminated
by'\t'
select
*from student;
2.1.3 將查詢的結果匯出到hdfs上(沒有local)
hive (
default
)>
insert overwrite directory '/user/xiqoxq/student2'
row format delimited fields
terminated
by'\t'
select
*from student;
2.2 hadoop 命令匯出到本地hive (
default
)> dfs -get /
user
/hive/warehouse/student/student.txt
/opt/module/hive/datas/export/student3.txt;
2.3 hive shell 命令匯出[xiaoxq@hadoop105 hive-3.1.2]$ bin/hive -e 'select * from default.student;' >
/opt/module/hive/datas/export/student4.txt;
2.4 export 匯出到 hdfs 上hive (
default
)> export table
default
.student to
'/user/hive/warehouse/export/student'
;
Hive中DML資料操作
1.資料匯入 1 向表中裝載資料 load 語法 load data 表示載入資料 local 表示從本地載入資料到hive表 否則從hdfs載入資料到hive表 inpath 表示載入資料的路徑 into table 表示載入到哪張表 student 表示具體的表 overwrite 表示覆蓋表中...
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 ...