【发布时间】:2015-02-23 11:15:22
【问题描述】:
大家好,我还有一个问题,我只是无法理解猪的行为
我正在将数据加载到 pig 中,并在经过一些转换后使用 hdfs(/user/sga/transformeddata) 上的 PigStorage() 将其存储。
但是当我从 /user/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 是 pig 中的别名。
现在另一个脚本将使用这些数据
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 步我得到了上述错误。
【问题讨论】:
标签: hadoop apache-pig