模式给定错误的pig加载

owfi6suc  于 2021-06-21  发布在  Pig
关注(0)|答案(1)|浏览(661)

我在hdfs上有一个名为data\u tuple\u bag.txt的文件,内容如下:

10,{(1,2),(2,3)}
11,{(4,5),(6,7)}

我正在创建如下关系:

D = LOAD '/user/pig_demo/data_tuple_bag.txt' AS (f1:int,B:{T:(t1:int,t2:int)});

当我转储它是给我访问\不存在\字段2次(s)以及字段\丢弃\类型\转换\失败2次(s)和空输出。
我将关系改为:

D = LOAD '/user/pig_demo/data_tuple_bag.txt' USING PigStorage(',') AS (f1:int,B:{T:(t1:int,t2:int)});

现在只给字段\u丢弃\u类型\u转换\u失败2次,输出为:

(10,)
(11,)

我有另一个文件data\u only\u bag.txt,其中包含以下内容:

{(1,2),(2,3)}
{(4,5),(6,7)}

关系定义为:

A = LOAD '/user/pig_demo/data_only_bag.txt' AS (B:{T:(t1:int,t2:int)});

而且很有效。
现在我正在更新数据\u only \u bag.txt,如下所示:

10,{(1,2),(2,3)}
11,{(4,5),(6,7)}

关系是:

A = LOAD '/user/pig_demo/data_only_bag.txt' AS (f1:int,B:{T:(t1:int,t2:int)});

我得到:(,)(,)当我转储它时,它给我访问不存在的字段2次,以及字段被丢弃的类型转换失败的2次和空输出。
现在我将关系更新为:

A = LOAD '/user/pig_demo/data_only_bag.txt' USING PigStorage(',') AS (f1:int,B:{T:(t1:int,t2:int)});

现在只给字段\u丢弃\u类型\u转换\u失败2次,输出为:

(10,)
(11,)

和以前一样。
有人能告诉我我在这里做错什么了吗?
提前谢谢。

3bygqnnd

3bygqnnd1#

无法用提供的架构分析输入,请尝试以下操作:

D = LOAD '/user/pig_demo/data_tuple_bag.txt' USING PigStorage(',') 
AS (f1:int, B: {T1: (t1:int, t2:int),T2: (t1:int, t2:int)});

相关问题