Ich habe ein Problem bei der Ausführung von CONDITIONAL QUERIES in HiveQL. Die grundlegende select * from tablename
-Anweisung funktioniert gut.
Der Fehler ist:
Ich habe es sowohl mit Eclipse IDE als auch mit Hive Shell versucht. Die Ausgabe ist dieselbe. Bitte Hilfe!
Dies sollte Ihr Problem lösen, da diese Eigenschaft standardmäßig auf true
gesetzt wird.
hive.auto.convert.join.noconditionaltask
- Ob Hive aktiviert die Optimierung der Umwandlung von gemeinsamen Join in Mapjoin basierend auf der EingabedateigrößeWenn dieser Parameter aktiviert ist, und die Summe der Größe für n-1 der Tabellen / Partitionen für einen n-way-Join sind kleiner als die angegebene Größe, Der Join wird direkt in einen Mapjoin konvertiert (es gibt keine Bedingung) Aufgabe).
Ich habe festgestellt, dass Sie mit Hive2 die Art ändern müssen, wie Sie die Anzahl der Reduzierungen bei der Verwendung von HiveQL angeben. Auf Hive1 habe ich verwendet:
%Vor%Allerdings habe ich auf Hive2 bemerkt, dass ich Folgendes verwenden muss:
%Vor%Ich hatte die gleiche Fehlermeldung und änderte das Problem für mich.
Ich habe ein Cloudera-Quickstart-Image, das mit VirtualBox gemountet wurde. Ich musste folgendes tun, um das Problem zu beheben:
sudo vi /etc/hive/conf/hive-site.xml und setze die hive.auto.convert.join Eigenschaft auf false (du musst root zum Bearbeiten und damit das sudo).
Ich hatte die Eigenschaft hive.auto.convert.join.noconditionaltask in der hive-site.xml.xml nicht.
Tags und Links hive