2013-12-03 3 views
2

У меня есть таблица (main_table), которая разделена на разделы и хранит историю записей с флагом, чтобы указать, удалена ли запись или нет. У меня есть другая таблица9del_table), которая имеет ту же схему, что и main_table, но хранит только удаленные записи за день (delete_falg = 'Y').HQL - Как копировать/перемещать данные в нескольких разделах из одной таблицы в другую

В качестве процесса мне необходимо ежедневно перемещать записи, доступные в del_table, в main_table. Я пытаюсь написать команду LOAD DATA INPATH, которая может перемещать данные, доступные в соответствующих разделах del_table, в соответствующие разделы main_table, но ни одна из моих попыток не работает. Пожалуйста, дайте мне знать, можно ли достичь этого, используя команду LOAD DATA INPATH, с указанием отдельных разделов?

Я пытаюсь ниже шагов, но это не удается во 2-й шаг: установить нестрогое улья свойство:

НАГРУЗКИ INPATH DATA '...../del_table /' в таблице main_table раздела (partition_col_name)

ответ

0

Попробуйте установить это свойство первым:

set hive.exec.dynamic.partition.mode=nonstrict; 

затем запустить команду:

LOAD DATA INPATH '...../del_table/' into table main_table partition(partition_col_name) 

Для получения дополнительной информации Вы можете обратиться к этой ссылке: Partition

+0

Я получаю следующую ошибку при запуске приведенная выше команда LOAD INPATH: Ошибка: строка Semanticexception .. Неверный путь '' ...../del_table/'': источник содержит каталог: ....../del_table/partitions_col_name = 1 –

+0

Пожалуйста, t ell me two things: 1.) Является ли ваша таблица внешней/внутренней? 2.) Ваши файлы данных находятся в локальной/HDFS? –

+0

1.) Является ли ваша таблица внешней/внутренней? - Внутренний 2.) Ваши файлы данных находятся в локальной/HDFS? - HDFS. Просто для того, чтобы лучше объяснить, я дам простой псевдокод: допустим, у меня есть таблица Tab1 с разделом на Col1, и у нее есть данные для 10 разделов. Чтобы смоделировать мой сценарий, давайте создадим еще 2 таблицы Tab2 и Tab3. Загрузите tab2 с данными в разделы 1 и 2 из Tab1 (используя команду Load data inpath для определенных разделов). Аналогично загрузите tab3 с данными в разделы 3, 4 и 5 из Tab1. Я хочу использовать команду load data inpath для перемещения всех данных, доступных в Tab2, в Tab3. –

Смежные вопросы