gpt4 book ai didi

hadoop - PIG 加载 CSV - map 类型错误

转载 作者:可可西里 更新时间:2023-11-01 15:18:23 25 4
gpt4 key购买 nike

我们的目标是利用 PIG 对我们的服务器日志进行大规模日志分析。我需要从文件加载 PIG map 数据类型。

我尝试使用以下数据运行示例 PIG 脚本。

我的 CSV 文件中名为“test”(由 PIG 处理)的一行看起来像,

151364,[ref#R813,highway#secondary]

我的 PIG 脚本

a = LOAD 'test' using PigStorage(',') AS  (id:INT, m:MAP[]);
DUMP a;

想法是加载一个 int 和第二个元素作为 hashmap。然而,当我转储时,int 字段被正确解析(并在转储中打印)但 map 字段未被解析导致解析错误。

如果我遗漏了什么,有人可以解释一下吗?

最佳答案

我认为存在与定界符相关的问题(例如字段定界符以某种方式影响 map 字段的解析或与 map 定界符混淆)。

当使用此输入数据时(注意我使用分号作为字段分隔符):

151364;[ref#R813,highway#secondary]

下面是我的 grunt shell 的输出:

grunt> a = LOAD '/tmp/temp2.txt' using PigStorage(';') AS (id:int, m:[]);
grunt> dump a;
...
(151364,[highway#secondary,ref#R813])

grunt> b = foreach a generate m#'ref';
grunt> dump b;
(R813)

关于hadoop - PIG 加载 CSV - map 类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12196053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com