Эй, ребята у меня есть еще один вопрос, я просто не в состоянии понять поведение свиньиСвиньи чтения данных как databytearray
Я загрузки данных в свинью и после некоторого преобразования хранить его с помощью PigStorage() на HDFS (/ пользователь/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;
на шаг х я получаю вышеуказанную ошибку.
Я сделал то же самое, сохраняя данные, предоставленные мной схемой. – saching
, пожалуйста, напишите код – Frederic
PigStorage ничего не знает о сохраненных данных, пока вы не сообщите об этом – WattsInABox