Hive-Tabelle Array-Spalten - explodieren mit array_index

Hallo, ich habe eine Hive-Tabelle

select a,b,c,d from riskfactor_table 
In the above table B, C and D columns are array columns. Below is my Hive DDL 
Create external table riskfactor_table 
(a string, 
b array<string>, 
c array<double>, 
d array<double> ) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY '~'  
stored as textfile location 'user/riskfactor/data'; 

Hier ist meine Tabelle Daten:

ID400S,["jms","jndi","jaxb","jaxn"],[100,200,300,400],[1,2,3,4]
ID200N,["eins","zwei","drei"],[212,352,418],[6,10,8]

Wenn ich will, um split-array-Spalten, wie kann ich Spalten?
Wenn ich benutze Funktion auflösen kann ich das split-array nur Werte für eine Spalte

wählen Sie explodieren(b) als b aus riskfactor_table;

Ausgabe:

jms  
jndi  
jaxb  
jxn  
one  
two  
three

Aber ich möchte, dass alle Spalten gefüllt werden, mithilfe einer select-Anweisung unten-

Abfrage select a,b,c,d aus risk_factor;

Ausgabe:

row1-  ID400S    jms    100    1  
row2-  ID400S    jndi   200    2  
row3-  ID400S    jaxb    300    3  
row4-  ID400S    jaxn    400    4  

Wie kann ich füllen Sie alle Daten?

Es ist unklar, was das gewünschte Ergebnis ist. Wo hast ID400A, ID401S, und ID402E kommen? Erscheinen Sie auf Magische Weise am Ende Ihre Frage.
Hi, ich habe korrigiert meine Ausgabe. Können Sie mir bitte helfen, wie kann ich Daten füllen? Auch wenn ich ein null-array-Wert oder Werte, die weniger als 4 Feldern, die in meinem Eingang, wie die Zuordnung des array-Spalten?
Mögliche Duplikate von Hive Explodieren / Seitliche Ansicht mehrerer arrays
diese hier habe ich ausprobiert .muss ich hinzufügen müssen, um eine jar-Datei?
Ya du brauchst das jar erwähnt, dass die Frage

InformationsquelleAutor Sai | 2016-05-22

Schreibe einen Kommentar