我正在处理要将 pig 脚本中的数据存储到文件中的情况。这很简单,但是我希望文件名从数据本身派生。因此,我在数据中有一个字段作为时间戳。我想使用MAX(timestamp)作为文件名来存储当天的所有数据。
我知道用法
使用org.apache.pig.piggybank.storage.MultiStorage('$ outputDir','2','none',',');将数据存储到'$ outputDir'中;
但是此变量“outputDir应该作为参数传递。我想使用字段的派生值设置此值。
任何指针将非常有帮助。
感谢和问候,
阿图尔·阿格瓦尔(Atul Aggarwal)
最佳答案
在MultiStorage中,您指定一个根目录,因为通常HDFS安装会被许多用户共享,因此您不希望将数据写入任何地方。因此,您不能更改根目录,但是可以指定哪个字段用于生成该目录中的目录名(在您的情况下为2)。 Javadoc很有帮助,但我想您已经看到了吗?
关于hadoop - 从Apache Pig中的数据派生FileName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14839411/