Pig如何为列分配名称?

Posted

技术标签:

【中文标题】Pig如何为列分配名称?【英文标题】:Pig how to assign name to columns? 【发布时间】:2013-10-24 17:32:54 【问题描述】:

我有一个包含数百列的 csv 文件,当我将文件加载到 Pig 中时,我不想像

那样分配每一列
A = load 'path/to/file' as (a,b,c,d,e......)

因为我会在第二步过滤很多:

B = foreach A generate $0,$2,....;

但是在这里,我可以为 B 的每一列分配一个名称和类型吗?像

B = foreach A generate $0,$2,... AS (a:int,b:int,c:float)

我尝试了上面的代码,但它不起作用。

谢谢。

【问题讨论】:

【参考方案1】:

您必须在每个逗号之间指定它们。

B = foreach A generate $0 as a, $2 as b,...

请注意,它只是假设它已经是的类型。

【讨论】:

谢谢,这行得通!但是我可以使用 sth like: B = foreach A generate (int)$0 as a, (float)$2 as b... 来转换类型吗?

以上是关于Pig如何为列分配名称?的主要内容,如果未能解决你的问题,请参考以下文章

如何为Dataframe一列分配不同的数字[重复]

如果没有插入值,如何为 SQL Server 中的列字段分配唯一值?

如何为R中向量的特定元素分配名称

我应该如何为精灵表中的精灵分配名称?

如何为 TPL 中的任务分配名称

分发键如何为GreenPlum分段分配数据