У меня есть сотрудник из внешней таблицы кустов, который разделен по extract_timestamp (гггг-мм-дд чч: мм: сс), как показано ниже.
empid empname extract_time
1 abc 2019-05-17 00:00:00
2 def 2019-05-18 14:21:00
Я пытаюсь удалить раздел с помощью extract_time и изменитьэто год, месяц и день раздела.Я следую приведенному ниже методу для этого.
1.Создайте новую таблицу employee_new с разделами год, месяц и день
create external table employee_new
(empid int,
empname string
)
partitioned by (year int,month int,day int)
location '/user/emp/data/employee_new.txt';
2.вставить перезапись в employee_new, выбрав данные из таблицы employee
insert overwrite into employee_new as select*,year(extract_time),month(extract_time)
,day(extract_time)
from employee
3.Удалите employee и employee_new и создайте таблицу сотрудников поверх /user/emp/data/employee_new.txt
Пожалуйста, дайте мне знать, если этот метод эффективен и есть ли более эффективные способы сделать то же самое.