Я использую сложный оператор foreach для генерации своих данных. Это пример строки:
(2013-07-01)
Ниже мой код:
joined_data = foreach old_data {
date = old_data::date;
month = SUBSTRING(date, 5, 7);
generate date, month;
};
Когда я продолжаю использовать таблицу, я получаю следующую ошибку:
<file script.pig, line 24, column 66> Invalid field projection. Projected field [month] does not exist in schema: old_data::date:chararray,:chararray.
Почему у месяца нет названия? Я четко назвал его.
Когда я пишу:
joined_data = foreach data {
date = old_data::date;
month = SUBSTRING(date, 5, 7);
generate date, $1;
};
Код никогда не завершает работу (он не может завершить стадию сокращения).
Любая идея, почему это происходит и как я могу убедиться, что Pig улавливает имя, которое я дал столбцу месяца?
Спасибо.