在Pig中动态生成新架构

时间:2013-11-13 01:41:07

标签: schema apache-pig

我想在Pig中调整一些数据,使用我正在旋转的行中的值作为我的列名。我事先并不知道这些价值观。我希望将这些新列名存储为每个相关值的模式。

这与Pivoting in Pig的问题相同,但是使用动态生成的列名称。

现在我有一袋像

这样的元组
{(C1, V1), (C2, V2), (C3, V3), ... (Cn, Vn)}

我希望将它们改为:

dump bag;
{ (V1, V2, V3, ... Vn) }

describe bag;
bag: {C1: chararray,C2: chararray, ... , Cn: chararray}

我目前正在尝试使用覆盖outputSchema()的UDF执行此操作,但我无法访问我的列名称,因为outputSchema()的输入应该是一个Schema对象,并且架构对象不允许使用input.get(<field-num>)来访问字段值。还有另一种动态创建新架构的方法吗?

我与使用架构结婚的原因是因为我最终导出为CSV。

0 个答案:

没有答案