Ich habe eine test
Tabelle in Bienenstock mit unten Schema. Ich möchte alle Ids auswählen, wo a und b gleich sind, wie geht das?
Gibt es in der Hive eine eingebaute Funktion, die den Map-Datentyp-Vergleich unterstützt?Wie zu vergleichen, komplexe Datentyp Spalten im Bienenstock
Tabelle DDL:
CREATE TABLE test(id string,
a map<int,string>,
b map<int,string>)
Die unten sql wirft Fehler, da nur dann gleich Operator Urtyp unterstützt:
select id from test where a=b;
gefundenArgumenttyp Mismatch 'a': Das erste Argument von EQUAL wird erwartet, ein primitiver Typ, aber Karte ist
Hinweis: Ich bin in der Lage, dies mit meiner eigenen UDF zu erreichen, aber ich suche, ob Bienenstock jede integrierte Funktion zur Unterstützung solcher Operationen bietet?
Danke, es hat funktioniert. Könntest du bitte erklären, wie Bienenstock 'a in (b)' intern übersetzt? –
Ich bekomme die Frage nicht. Dies ist grundsätzlich nicht anders als "x in (1,2,3)' –
Ich habe es. Vielen Dank –