2016-01-24 7 views
0

Я имею загрузку данных сложности с использованием апачский сценария свиньюОшибка при загрузке свинью сценария

cat data15.txt 
1,(2,3) 
2,(3,4) 


grunt>a = load 'nikhil/data15.txt' using PigStorage(',') as (x:int, y:tuple(y1:int,y2:int)); 

grunt>dump a; 

(1,) 

(2,) 
+0

Форматирование кода – Cristik

+0

Возможный дубликат [Apache Pig не разобрав кортеж полностью] (http://stackoverflow.com/questions/8838408/apache-pig-not-parsing-a-tuplefully) – madbitloman

ответ

0

Я знаю его слишком поздно, чтобы ответить на этот вопрос
Проблема заключается в том, что кортеж и другое поле имеют один и тот же разделитель как " ". Свинья не выполняет преобразование схемы. вы можете попробовать что-то вроде этого
вам нужно изменить Разделителем

1: (5,7,7)
3: (7,9,4)
5: (5,9,7)

и запустить скрипт свиньи как

A = load 'file.txt' using PigStorage(':') as (t1:int,t2:tuple(x:int,y:int,z:int)); dump A;

выход

(1, (5,7,7))
(3, (7,9,4))
(5, (5,9,7))

вы можете изменить разделитель с помощью команды sed во входном файле, а затем загрузить файл.

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