Hadoop 一个pig脚本中的两个存储函数

Hadoop 一个pig脚本中的两个存储函数,hadoop,apache-pig,Hadoop,Apache Pig,我有一个pig脚本来加载、处理和存储数据 如果在同一个单清管器脚本中有两个存储函数,它是如何工作的 a = load 'somefile' using PigStorage(','); b ... c ... d ... e = store d into 'output1'; f = store c into 'output2'; 每个商店都要运行两次。也就是说,对于存储“e”它从'a'处理为“e”,对于存储“f”它直接存储“c”,因为它已经被处理,或者将再次从“a”开始。 一般来说,底层ma

我有一个pig脚本来加载、处理和存储数据

如果在同一个单清管器脚本中有两个存储函数,它是如何工作的

a = load 'somefile' using PigStorage(',');
b ...
c ...
d ...
e = store d into 'output1';
f = store c into 'output2';

每个商店都要运行两次。也就是说,对于存储“e”它从'a'处理为“e”,对于存储“f”它直接存储“c”,因为它已经被处理,或者将再次从“a”开始。

一般来说,底层map/reduce框架有一个多输出格式,因此Pig可以使用该格式并在一个作业中运行两个存储脚本,例如,通过使用单独的reduce,每个将写入另一个文件


然而,实际的map/reduce计划取决于您如何获得c和d(有时,处理将需要不止一个作业)来理解脚本的行为,您可以使用Pig的命令。如果您想要图形化可视化,您可以使用

谢谢这帮助我理解了这个概念。我这里还有一个疑问是,如果它需要不止一个作业,那么它会为每个商店加载两次,我的意思是说,它会为每个商店加载两次“somefile”吗。通常情况下,猪足够聪明,如果可以的话,它不会装载两次东西。正如我说的,如果这对你很重要的话,你应该先看看计划,然后再让它运行。这对我很有帮助。你能给我提个建议吗,,,对不起,如果我不能在这里问这个问题,但我需要帮助。