Мне нужно разделить таблицу на hive
со столбцом, который также является частью таблицы.
Например:
Таблица: сотрудник
Столбцы: employeeId, employeeName, employeeSalary
Мне нужно разбить таблицу, используя employeeSalary .Поэтому я пишу следующий запрос:
CREATE TABLE employee (employeeId INT, employeeName STRING, employeeSalary INT) PARTITIONED BY (ds INT);
Я просто использовал здесь имя «ds», так как оно не позволило мне ввести то же имя employeeSalary
.
Это правильно?что я делаю?Также при вставке значений в таблицу я должен использовать файл, разделенный запятыми.Теперь файл состоит из строки вроде: 2019, Джон, 2000
как одна строка.Если мне придется разделить, используя зарплату, мой первый раздел будет состоять из людей с зарплатой 2000. Таким образом, запрос будет
LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE employee PARTITION (ds=2000);
Опять после 100 записей с зарплатой 2000, у меня есть следующие 500 записей с зарплатой 4000Поэтому я бы снова запустил запрос:
LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE employee PARTITION (ds=4000);
ПОЖАЛУЙСТА, ДАЙ МНЕ ЗНАЕТЕ, ЕСЛИ Я ПРАВДА ...