我在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)});
当我进行DUMP时,它给我ACCESSING_NON_EXISTENT_FIELD 2次(以及FIELD_DISCARDED_TYPE_CONVERSION_FAILED 2次)和空输出。
我将关系更改为:
D = LOAD '/user/pig_demo/data_tuple_bag.txt' USING PigStorage(',') AS (f1:int,B:{T:(t1:int,t2:int)});
现在它只给出了FIELD_DISCARDED_TYPE_CONVERSION_FAILED 2次,输出为:
(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)});
我得到: (,) (,) 当我DUMP它时,它给我ACCESSING_NON_EXISTENT_FIELD 2次(以及FIELD_DISCARDED_TYPE_CONVERSION_FAILED 2次)和空输出。
现在我将关系更新为:
A = LOAD '/user/pig_demo/data_only_bag.txt' USING PigStorage(',') AS (f1:int,B:{T:(t1:int,t2:int)});
现在它只给出了FIELD_DISCARDED_TYPE_CONVERSION_FAILED 2次,输出为:
(10,)
(11,)
与以前相同。
有谁能告诉我,我在这里做错了什么?
先谢谢。
答案 0 :(得分:0)
无法使用提供的架构解析输入, 试试这个:
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)});