2017-02-20 1 views
1

Ich habe eine Anforderung, wo ich ein Varchar explodieren müssen, um Daten in mehrere Zeilen zu bekommen.Wie explodieren auf Varchar in Bienenstock

Beispieldaten:

1, ab cd ef 

2, ee dd 

Ausgang erwartet:

1, ab 

1, cd 

1, ef 

2, ee 

2, dd 

Bitte legen nahe, wie können wir dies in hive erreichen.

+0

Der Datentyp der zweiten Spalte in Tabelle VARCHAR –

Antwort

0
create table mytable (id int,mycolumn string); 

insert into mytable values 
    (1,'ab cd ef') 
    ,(2,'ee dd') 
; 

select  t.id 
      ,e.val 

from  mytable t 
      lateral view explode(split(mycolumn,' ')) e as val 
;    

+------+-------+ 
| t.id | e.val | 
+------+-------+ 
| 1 | ab | 
| 1 | cd | 
| 1 | ef | 
| 2 | ee | 
| 2 | dd | 
+------+-------+ 
+0

Dank für diese ist. –