Hive 配置单元静态分区加载所有记录
我试图基于dept of employee记录执行配置单元静态分区,当我执行load命令将数据插入分区表时,它会根据我在load data命令中指定的分区值更改所有dept值 我在hdfs中的数据如下所示:Hive 配置单元静态分区加载所有记录,hive,hiveql,Hive,Hiveql,我试图基于dept of employee记录执行配置单元静态分区,当我执行load命令将数据插入分区表时,它会根据我在load data命令中指定的分区值更改所有dept值 我在hdfs中的数据如下所示: 1,adi,Admin,50000,A 2,Gokul,Admin,50000,B 3,Janet,Sales,60000,A 4,Hari,Admin,50000,C 5,Sanker,Admin,50000,C 6,Margaret,Tech,12000,A 7,Nirmal,Tech,
1,adi,Admin,50000,A
2,Gokul,Admin,50000,B
3,Janet,Sales,60000,A
4,Hari,Admin,50000,C
5,Sanker,Admin,50000,C
6,Margaret,Tech,12000,A
7,Nirmal,Tech,12000,B
8,jinju,Engineer,45000,B
9,Nancy,Admin,50000,A
10,Andrew,Manager,40000,A
11,Arun,Manager,40000,B
12,Harish,Sales,60000,B
13,Robert,Manager,40000,A
14,Laura,Engineer,45000,A
15,Anju,Ceo,100000,B
16,Aarathi,Manager,40000,B
17,Parvathy,Engineer,45000,B
18,Gopika,Admin,50000,B
19,Steven,Engineer,45000,A
20,Michael,Ceo,100000,A
我的分区表如下所示:
create table employee(
id string,
name string,
role string,
salary string)
partitioned by (dept string)
row format delimited
fields terminated by ','
lines terminated by '\n'
stored as textfile;
load command
load data inpath '/user/adithyan/employee.txt' overwrite into table employee partition (dept='A');
我已经给出了上面和执行后的输入数据,该命令记录已从hdfs插入到配置单元,但它加载了由“A”更改的部门的所有记录
输出:
employee.id employee.name employee.degree employee.salary employee.dept
1 adi Admin 50000 A
2 Gokul Admin 50000 A
3 Janet Sales 60000 A
4 Hari Admin 50000 A
5 Sanker Admin 50000 A
6 Margaret Tech 12000 A
7 Nirmal Tech 12000 A
8 jinju Engineer 45000 A
9 Nancy Admin 50000 A
10 Andrew Manager 40000 A
11 Arun Manager 40000 A
12 Harish Sales 60000 A
13 Robert Manager 40000 A
14 Laura Engineer 45000 A
15 Anju Ceo 100000 A
16 Aarathi Manager 40000 A
17 Parvathy Engineer 45000 A
18 Gopika Admin 50000 A
19 Steven Engineer 45000 A
20 Michael Ceo 100000 A
所有部门都改成了一个错误的部门。
有人能帮我把分区数据插入我的表吗?看来加载数据不适合这项工作 加载操作当前是移动的纯复制/移动操作 将数据文件放入配置单元表对应的位置 然而,您可以使用外部表来实现您的目标
create external table employee_ext
(
id string
,name string
,role string
,salary string
,dept string
)
row format delimited
fields terminated by ','
lines terminated by '\n'
stored as textfile
location '/user/adithyan/'
;
似乎加载数据不适合该作业 加载操作当前是移动的纯复制/移动操作 将数据文件放入配置单元表对应的位置 然而,您可以使用外部表来实现您的目标
create external table employee_ext
(
id string
,name string
,role string
,salary string
,dept string
)
row format delimited
fields terminated by ','
lines terminated by '\n'
stored as textfile
location '/user/adithyan/'
;
select * from employee
;
+-------------+---------------+---------------+-----------------+---------------+
| employee.id | employee.name | employee.role | employee.salary | employee.dept |
+-------------+---------------+---------------+-----------------+---------------+
| 1 | adi | Admin | 50000 | A |
| 3 | Janet | Sales | 60000 | A |
| 6 | Margaret | Tech | 12000 | A |
| 9 | Nancy | Admin | 50000 | A |
| 10 | Andrew | Manager | 40000 | A |
| 13 | Robert | Manager | 40000 | A |
| 14 | Laura | Engineer | 45000 | A |
| 19 | Steven | Engineer | 45000 | A |
| 20 | Michael | Ceo | 100000 | A |
| 2 | Gokul | Admin | 50000 | B |
| 7 | Nirmal | Tech | 12000 | B |
| 8 | jinju | Engineer | 45000 | B |
| 11 | Arun | Manager | 40000 | B |
| 12 | Harish | Sales | 60000 | B |
| 15 | Anju | Ceo | 100000 | B |
| 16 | Aarathi | Manager | 40000 | B |
| 17 | Parvathy | Engineer | 45000 | B |
| 18 | Gopika | Admin | 50000 | B |
| 4 | Hari | Admin | 50000 | C |
| 5 | Sanker | Admin | 50000 | C |
+-------------+---------------+---------------+-----------------+---------------+