2016-08-07 21 views
0

ich mit den Zeilen eine Tabelle im Format folgendenCollect Daten von id in hive

user | purchase | time_of_purchase|quantity 

Probe

1234 | Bread | Jul 7 20:48| 1 
1234 | Shaving Cream | July 10 14:20 | 2 
5678 | Milk | July 7 3:48 | 1 
5678 | Bread | July 7 3:49 | 2 
5678 | Bread | July 7 15:30 | 1 

Ich mag

1234 | {[Bread , Jul 7 20:48,1] ,[ Shaving Cream , July 10 14:20, 2 ]} 
5678 | {[Milk, July 7 3:48 , 1 ] , [Bread , July 7 3:49 , 2], [Bread , July 7 15:30 , 1]} 
in folgendem Format Kaufhistorie des Benutzers erstellen

Ist es möglich, dies in Bienenstock oder Schwein Skript zu tun? Ich habe versucht, Collect_list, aber das hält nicht die Reihenfolge über Spalten zu kombinieren, auch versuchte Brickhouse sammeln, aber das verhält sich wie collect_set und ich verliere einen Teil der Informationen.

+0

Es ist möglich, sieht Funke verwenden, da es sich um eine 'groupByKey' Betrieb ist –

+0

Sie verwenden können Wählen Sie * aus Tabellenname groupby ID Abfrage – nat

Antwort

0

PIG Script

File = LOAD 'file.txt' using PigStorage(',') as (user:int, Purchase:chararray, timeofpurchase:chararray, quantity:int); 

GRP_USER = GROUP File by user; 
DUMP GRP_USER; 

Sie einige Beispiele auf http://ybhavesh.blogspot.com/

beziehen Hoffe, es Hilft

+0

Danke für die Bearbeitung Kishore !!! .. – Bhavesh