在Pig脚本中调用RESTful服务

时间:2010-09-24 15:52:31

标签: apache-pig

我正在处理一个加载大文本文件的Pig脚本(我的第一个)。对于该文本文件中的每个记录,需要将一个字段的内容发送到RESTful服务进行处理。无需评估或过滤任何内容。捕获数据,将其发送出去,脚本不需要任何回复。

我假设这种功能需要一个UDF,但我对Pig很新,我不清楚我应该构建的 type 函数是什么。我最好的猜测是Store Function,因为数据最终存储在某个地方,但我觉得得出这个结论所涉及的猜测量高于我想要的。

非常感谢任何见解或指导。

2 个答案:

答案 0 :(得分:2)

您是否看过DBStorage做类似的事情?

everything = LOAD 'categories.txt' USING PigStorage() AS (category:chararray);
...
STORE ordered INTO RestStorage('https://...');

答案 1 :(得分:0)

我从未找到任何答案,我决定朝着不同的方向前进。我正在使用Pig来加载和解析大文件,但随后将我关心的每条记录流式传输到PHP以进行额外的处理,而Pig似乎没有能够干净利落地处理它。

它是still not complete (read: there's a great big, very unhappy bug in the mix),但我认为这个概念很可靠 - 只需要弄清楚实现细节。

everything = LOAD 'categories.txt' USING PigStorage() AS (category:chararray);
-- apply filter
-- apply filter
-- ...
-- apply last filter
ordered  = ORDER filtered_categories BY category;

streamed = STREAM limited THROUGH `php -nF process_categories.php`;
DUMP streamed;