hadoop - 从Apache Pig中的数据派生FileName

标签 hadoop apache-pig

我正在处理要将 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/

相关文章:

Hadoop 集群 : bigger nodes or more nodes

mongodb - 如何使用Pig在mongodb中按_id进行过滤

hadoop - Apache Pig GROUP BY,ORDER BY

java - Spark-Hive 错误,我该如何解决?

hadoop - MRUnit 不适用于 MultipleOutputs

hadoop - 如果数据量很大,hadoop 如何在本地存储 map 输出?

java - Hadoop的Hive/Pig、HDFS和MapReduce的关系

apache-pig - 如何循环 Bag, Pig 中的元组

hadoop - 如何向从 Pig (Hadoop) 创建的文件添加标题行?

r - 如何制作 1 亿条推文的 R tm 语料库?