Hallo habe ich einen Hive TabelleHive Tisch Array Columns - explodieren mit array_index
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 Tabellendaten:
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 Array-Spalten teilen möchte, wie kann ich teilen?
Wenn i Funktion explodiert ich nur eine Array-Werte für die Spalte aufspalten
explodieren wählen (B) wie b von riskfactor_table;
Ausgang:
jms
jndi
jaxb
jxn
one
two
three
Aber ich möchte, dass alle Spalten unten-
Abfrage gefüllt mit einer select-Anweisung werden - wählen Sie a, b, c, d von risk_factor ;
Ausgang:
row1- ID400S jms 100 1
row2- ID400S jndi 200 2
row3- ID400S jaxb 300 3
row4- ID400S jaxn 400 4
Wie kann ich alle Daten zu füllen?
Es ist unklar, was Ihre gewünschte Ausgabe ist. Woher kommen 'ID400A',' ID401S' und 'ID402E'? Sie erscheinen magisch am Ende Ihrer Frage. – gobrewers14
Hallo, ich habe meine Ausgabe korrigiert. Können Sie mir bitte helfen, wie kann ich Daten auffüllen? Auch wenn ich einen Null-Array-Wert oder Werte weniger als 4 Felder in meiner Eingabe erhalten, wie die Array-Spalten zuordnen? – Sai
Mögliches Duplikat von [Hive Explode/Lateral View mehrere Arrays] (http: // stackoverflow.com/questions/20667473/hive-explode-lateral-view-multiple-arrays) – gobrewers14