如何在ApachePig中将列添加到Map数据集的示例中

zlwx9yxi  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(287)

我正在努力学习ApachePig、hadoop和friends,目前我正在处理纽约市的机票数据。
我通过以下方式加载数据:

data = load 'nyc/smallNYC.csv' USING PigStorage(',') AS 
(
  SummonsNumber:int,
  PlateID:chararray,
  RegistrationState:chararray,
  PlateType:chararray,
  ...
  StreetName:chararray
  ... // And a lot more
)

现在我想向这个数据集添加两个新列(或者为每个数据集附加两个新键),其中一个是 CleanedStreetName (为了解决这个问题,假设我想使用:lower(streetname)生成这个列,第二列是 IssueYear .
然后我想使用这些列进行过滤、分组等等,我找不到任何指南来解释如何使用这些列。
以下是问题:
这样做明智吗?也许我应该在飞行中计算这些值?
如果这是一个明智的事情,请张贴一个片段,添加 CleanedStreetName 列。

4ktjp1zp

4ktjp1zp1#

你用的Pig FOREACH 生成数据的投影。
您没有指定如何获取issueyear,所以我将其指定为0

NEWDATA = FOREACH data GENERATE *,LOWER(StreetName) as CleanedStreetName, 0 as IssueYear

相关问题