我有一個與下面的內容名爲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)});
當我傾倒它給了我ACCESSING_NON_EXISTENT_FIELD 2次(s)以及FIELD_DISCARDED_TYPE_CONVERSION_FAILED 2次(s)和空輸出。
我改變了關係:
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時間(s)和輸出:
(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次(s)以及FIELD_DISCARDED_TYPE_CONVERSION_FAILED 2次(s)和一個空輸出。
現在我正在更新關係:
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時間(s)和輸出:
(10,)
(11,)
以前一樣。
有人可以告訴我我在這裏做什麼錯?
在此先感謝。
@AbhilashDK,恰好在Piglatin袋的difinition。它有效嗎? – 54l3d
嗨。感謝你的回答。但是一個包可以是一個元組的集合。當我寫入B:{T:(t1:int,t2:int)},並且只有像(1,2),(2,3) (4,5),(6,7)這樣的數據可以工作。但是,只有當我在第一個f1中引入另一個字段時,我會收到上述錯誤。 –
請更新您的問題,併爲每個案例添加一個典型的輸入文件 – 54l3d