Hadoop Pig:将关系中的所有字符添加到单个元组

Hadoop Pig:将关系中的所有字符添加到单个元组,hadoop,mapreduce,apache-pig,Hadoop,Mapreduce,Apache Pig,我有一个包含标签列表的文本文件。在文件中,每个标记都存储在自己的行中。标签的数量是可变的 加载文本文件时,我执行以下操作: tags_file = LOAD $list_of_tags AS (tag:chararray); 我想获取文件中的所有标记,并将它们放在一个元组中,然后传递给UDF。UDF将包含两个参数:(1)包含日志信息的包和(2)标签的元组。在UDF中,我将输出一个元组,其中包含每个标记在包含日志信息的包中出现的次数 我曾想过使用类似的方法来生成标签的元组,但这不起作用 如何将t

我有一个包含标签列表的文本文件。在文件中,每个标记都存储在自己的行中。标签的数量是可变的

加载文本文件时,我执行以下操作:

tags_file = LOAD $list_of_tags AS (tag:chararray);
我想获取文件中的所有标记,并将它们放在一个元组中,然后传递给UDF。UDF将包含两个参数:(1)包含日志信息的包和(2)标签的元组。在UDF中,我将输出一个元组,其中包含每个标记在包含日志信息的包中出现的次数

我曾想过使用类似的方法来生成标签的元组,但这不起作用


如何将
tags\u文件中的所有
chararray
关系添加到一个可以传递给UDF的元组中?

您需要使用GROUP all、FLATTEN和内置函数BagToTuple

请参阅下面的代码

A = GROUP tags_file ALL;
B = FOREACH A GENERATE FLATTEN(BagToTuple(tags_file));
现在B将在一个元组中有标记