0
嗨我還有一個問題,我只是無法理解豬的行爲豬讀取數據databytearray
我將數據裝入豬,經過一番改造HDFS上使用PigStorage()一起保存( /用戶/ SGA/transformeddata)。
但是,當我從/用戶/ SGA/transformeddata位置加載數據和做
temp = load '/user/sga/transformeddata' using PigStorage();
gen = foreach temp generate page_type;
dump gen;
收到以下錯誤:
databytearray不能轉換爲java.lang.String
但如果我做
gen = foreach temp generate *;
dump gen;
它工作正常
任何幫助完全理解這一點。
根據需要呈現所述代碼:
STORE union_of_all_records INTO '/staged/google/data_after_denormalization' using PigStorage('\t','-schema');
union_of_all_records
是在豬的別名。
現在另一個腳本,這將消耗該數據
lookup_data =
LOAD '/staged/google/page_type_map_file/' using PigStorage() AS (page_type:chararray,page_type_classification:chararray);
load_denorm_clickstream_record =
LOAD '/staged/google/data_after_denormalization' using PigStorage('\t','-schema');
,加入這兩個別名
denorm_clickstream_record = LIMIT load_denorm_clickstream_record 100;
join_with_lookup =
JOIN denorm_clickstream_record BY page_type LEFT OUTER, lookup_data BY page_type;
step x : final_output =
FOREACH join_with_lookup
GENERATE denorm_clickstream_record::page_type as page_type;
在步驟x我得到上述錯誤。
我已經做了同樣的事情,同時存儲我提供的架構的數據。 – saching 2015-02-23 13:47:11
請發佈代碼 – Frederic 2015-02-23 13:52:33
PigStorage對存儲的數據一無所知,直到您告訴它 – WattsInABox 2015-02-23 15:58:49