我们以wordCount为例:
input_lines = LOAD '/tmp/my-copy-of-all-pages-on-internet' AS (line:chararray);
-- Extract words from each line and put them into a pig bag
-- datatype, then flatten the bag to get one word on each row
bag_words = FOREACH input_lines GENERATE FLATTEN(TOKENIZE(line)) AS word;
是否有可能序列化"bag_words"变量,这样我们就不必在每次执行脚本时重新构建整个包?
谢谢。
STORE bag_words INTO 'some-output-directory';
然后稍后读入,以跳过每个生成、flatten、tokenize。
您可以使用STORE命令在pig中输出任何别名:您可以使用标准格式(如CSV)或编写自己的PigLoader类来实现任何特定的行为。然后,您可以在单独的脚本中加载此输出,从而绕过初始的LOAD。