Map 在pig映射中查找变量键

Map 在pig映射中查找变量键,map,apache-pig,Map,Apache Pig,我正在尝试使用pig将文本分解为小写单词,然后在地图中查找每个单词。这是我的示例地图,我在map.txt中有它,它只有一行长: [this#1.9,is#2.5my#3.3,vocabulary#4.1] 我这样加载: M = LOAD 'mapping.txt' USING PigStorage AS (mp: map[float]); 这很好用。然后,我执行以下操作加载文本并将其拆分为小写单词: LINES = LOAD 'test.txt' USING TextLoader() AS

我正在尝试使用pig将文本分解为小写单词,然后在地图中查找每个单词。这是我的示例地图,我在map.txt中有它,它只有一行长:

[this#1.9,is#2.5my#3.3,vocabulary#4.1]
我这样加载:

M = LOAD 'mapping.txt' USING PigStorage AS (mp: map[float]);
这很好用。然后,我执行以下操作加载文本并将其拆分为小写单词:

LINES = LOAD 'test.txt' USING TextLoader() AS (line:chararray);
TOKENS = FOREACH LINES GENERATE FLATTEN(TOKENIZE(LOWER(line))) as (word:chararray);
现在,我想做这样的事情:

RESULTS = FOREACH TOKENS GENERATE M.mp#word;
因此,如果我的词汇表中有这样一行,我将得到以下输出:1 3 4,但我不断地得到各种错误。如何在映射中查找变量值


我已经看了和,但是这些只有在我在地图中查找固定值时才有用,例如m.mp'this',这不是我想要做的

您还可以展平M,然后根据令牌/单词连接M和行。您可以在M上执行“复制”连接,以便将其复制到每个映射器