0
我正在使用复杂的foreach语句来生成我的数据。 这是一个示例行:Pig SUBSTRING函数不生成列
(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拿起我给月份列的名字?
谢谢。
我发现了一个愚蠢的解决方法: 生成日期,月份为月; – Michal
这不是一个愚蠢的解决方法,将它分配给“月”并不能告诉猪有关模式的任何事情 – bridiver