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