Apache pig 带有模式给定错误的清管器加载

Apache pig 带有模式给定错误的清管器加载,apache-pig,bigdata,Apache Pig,Bigdata,我在hdfs上有一个名为data_tuple_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)}); 当我转储它时,它会给我访问\u不存在\u字段2次,以及字段\u丢弃\u类型\u转换\u失败2次和空输出 我将关系更改为: D = LOAD '/user/p

我在hdfs上有一个名为data_tuple_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)});
当我转储它时,它会给我访问\u不存在\u字段2次,以及字段\u丢弃\u类型\u转换\u失败2次和空输出

我将关系更改为:

D = LOAD '/user/pig_demo/data_tuple_bag.txt' USING PigStorage(',') AS (f1:int,B:{T:(t1:int,t2:int)}); 
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,)
(10,)
(11,)
我有另一个文件data_only_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)});
它是有效的

现在我正在更新data_only_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)});
我得到: (,) (,) 当我转储它时,它会给我访问\u不存在\u字段2次,以及字段\u丢弃\u类型\u转换\u失败2次和空输出

现在,我正在更新与以下内容的关系:

D = LOAD '/user/pig_demo/data_tuple_bag.txt' USING PigStorage(',') AS (f1:int,B:{T:(t1:int,t2:int)}); 
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,)
(10,)
(11,)
和以前一样

有人能告诉我我到底做错了什么吗


提前感谢。

它无法用提供的模式解析输入, 试试这个:

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)});

它无法使用提供的架构分析输入, 试试这个:

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)});

@AbhilashDK,这正是一个袋子在拉丁语中的定义。行吗?嗨。谢谢你的回答。但是一个袋子可以是元组的集合。当我写B:{T:(t1:int,t2:int)}时,只要有像(1,2),(2,3)(4,5),(6,7)这样的数据就行了。但只有当我在第一个f1中引入另一个字段时,我才得到上述错误。请更新您的问题,并为每个字段添加一个典型的输入文件case@AbhilashDK这正是拉丁语对袋子的定义。行吗?嗨。谢谢你的回答。但是一个袋子可以是元组的集合。当我写B:{T:(t1:int,t2:int)}时,只要有像(1,2),(2,3)(4,5),(6,7)这样的数据就行了。但只有当我在第一个f1中引入另一个字段时,我才得到上述错误。请更新您的问题,并为每个案例添加一个典型的输入文件