2015-02-23 4 views
0

Эй, ребята у меня есть еще один вопрос, я просто не в состоянии понять поведение свиньиСвиньи чтения данных как 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; 

на шаг х я получаю вышеуказанную ошибку.

ответ

1

Я думаю, вы должны вариантов:

1) Вы должны сказать Pig схеме, что данные есть. Например:

temp = load '/user/sga/transformeddata' using PigStorage() AS (page_type:chararray); 

2) Когда вы первый хранить данные говорят Pigstorage для хранения информации о схеме, а также. PigStorage('\t', '-schema'); Когда вы загружаете данные, как вы делаете выше, PigStorage должен прочитать схему из информации о схеме.

+0

Я сделал то же самое, сохраняя данные, предоставленные мной схемой. – saching

+0

, пожалуйста, напишите код – Frederic

+0

PigStorage ничего не знает о сохраненных данных, пока вы не сообщите об этом – WattsInABox

 Смежные вопросы

  • Нет связанных вопросов^_^