Hive中使用insert語句產生的小檔案

2021-09-24 22:41:37 字數 1809 閱讀 2776

大資料一直都在說小檔案、

insert 也會產生小檔案:

測試:1、建立表

create table dept(

deptno string,

dname string,

location string

)row format delimited fields terminated by 『\t』;

2、載入資料

load data local inpath 『/home/hadoop/data/dept.txt』 overwrite into table dept;

3、insert語句插入

insert into table dept values (40,『it』,『japan』);

會跑乙個mapreduce作業,作業跑完後select語句執行。

hive (ruozeg6)> select * from dept;

ok40 it japan

10 accouting newwork

20 restart china

30 sales japan

time taken: 0.996 seconds, fetched: 4 row(s)

去到hdfs的目錄下檢視檔案:desc formatted 表名;檢視到location

1、[hadoop@hadoop004 data]$ hdfs dfs -ls /user/hive/warehouse/ruozeg6.db/dept

found 3 items

-rwxr-xr-x 1 hadoop supergroup 12 2019-07-01 20:11 /user/hive/warehouse/ruozeg6.db/dept/000000_0

-rwxr-xr-x 1 hadoop supergroup 53 2019-07-01 17:55 /user/hive/warehouse/ruozeg6.db/dept/dept.txt

2、檢視這個檔案下的內容:

[hadoop@hadoop004 data]$ hdfs dfs -text /user/hive/warehouse/ruozeg6.db/dept/000000_0

40 it japan

3、再執行一條插入語句:

insert into table dept values (50,'erp','suzhou');

4、再去hadoop的hdfs目錄下檢視:

[hadoop@hadoop004 data]$ hdfs dfs -ls /user/hive/warehouse/ruozeg6.db/dept

found 3 items

-rwxr-xr-x 1 hadoop supergroup 12 2019-07-01 20:11 /user/hive/warehouse/ruozeg6.db/dept/000000_0

-rwxr-xr-x 1 hadoop supergroup 14 2019-07-01 20:21 /user/hive/warehouse/ruozeg6.db/dept/000000_0_copy_1

-rwxr-xr-x 1 hadoop supergroup 53 2019-07-01 17:55 /user/hive/warehouse/ruozeg6.db/dept/dept.txt

在hive中,每使用一次insert都會產生乙個小檔案,在生產中是大忌。

insert語句詳解

insert 插入語句 新增 insert into 表名 欄位名1,欄位2,欄位3 values 值1 值2 值3 insert into grade gradename values 大四 由於主鍵自增我們可以省略 如果不寫表的字段,他就會一一匹配 insert into grade value...

hive sql 中使用 if 語句

hive sql 中使用 if 語句 hive 是數倉管理中重要的一環,尤其是sql的書寫時大家在執行任務時中最重要的,關係到任務的執行快慢和正確性 今天就來看一下hive中的sql 的使用 案例 insert into table ads sale tm category1 stat mn sel...

SQL中INSERT語句的使用技巧

在sql資料庫操作中,插入是最常用的操作之一,下面就為您介紹sql語句中insert語句使用的一些技巧,供您參考,希望對您有所啟迪。insert 向表中新增乙個新記錄,你要使用sql insert 語句。這裡有乙個如何使用這種語句的例子 insert mytable mycolumn values ...