例如,假设我将两个不同的文件加载到猪脚本中
A = LOAD 'file1' USING PigStorage('\t') AS (
day:chararray,
month:chararray,
year:chararray,
message:chararray);
B = LOAD 'file2' USING PigStorage('\t) AS (
month:chararray,
day:chararray,
year:chararry,
message:chararray);
现在,请注意字段的顺序是不同的,所以如果我将它们组合到一个文件中C = UNION A, B;
,我会得到......
(2,OCT,2013,INFO INVALID USERNAME)
(OCT,3,2013,WARN STACK OVERFLOW)
如果除了使数据更易于阅读之外没有其他原因,我想对字段重新排序,以便它们都遵循通用格式并且每个字段具有相同的位置符号。
(2,OCT,2013,INFO INVALID USERNAME)
(3,OCT,2013,WARN STACK OVERFLOW)
这也出现在其他一些带有消息、级别、主机等的地方。不仅仅是日期字段,我想让周围的一切都“更漂亮”。
在一些奇怪的伪代码中,我会寻找类似的东西:
D = FOREACH B
REORDER (month,day,year) TO (day,month,year);
我找不到任何人试图这样做的例子,也没有看到可以做到这一点的功能。所以也许这是不可能的,我一个人在这里,但如果有人有任何想法,我会很感激一些提示。