2016-04-06 4 views
0


Ich habe eine Hive-Abfrage in Farbton mit einer Eingabevariablen, eine Zeichenfolge (zum Beispiel ein Datum wie '20160117').
Ich möchte diese Hive-Abfrage in Farbton ausführen und übergeben Sie mehrere Werte für diese einzelne Variable.
Ist es möglich? Wenn ja, wie würdest du es tun?Gibt es eine Möglichkeit, mehrere Werte derselben Variablen in einen Hive-Job in Hue zu übergeben?

+1

posten Sie bitte ein Beispiel für die Abfrage, die Sie auszuführen versuchen – Jared

+0

Sie können derzeit nicht, müssten Sie die Abfrage mit z. $ {date} und reichen Sie es zweimal ein (oder verwenden Sie einen Oozie-Koordinator http://Gethue.com/hadoop-tutorial-schedule-your-hadoop-jobs-intuitiv/) – Romain

Antwort

1

Oozie läuft mit Direct Acyclic Graphs (DAG). Und Azyklisch kommt auf keine Schleife, jemals. Aber natürlich gibt es Workarounds.

Also, wenn Sie müssen die gleiche HQL Skript genau N mal mit einem anderen Parameterwert laufen ...

  • entweder copy/paste des Hive Aktion N-mal, in einer Kette, mit einem anderen param Wert (quick and dirty)
  • oder baut eine Sub-Workflow-nur mit der Hive Aktion und nennt es N-mal, in einer Kette, mit einem anderen param Wert

auf der o ther Seite, wenn Sie dynamisch die Anzahl und den Wert der Hinrichtung anpassen müssen, dann müssen Sie die „Schleife“ Logik außerhalb von Oozie richtigen ausrechnen ...

  • zum Beispiel, beginnen Sie mit einer Shell-Aktion, erstellt eine leere HQL-Datei, fügt dann N Abfragen in eine Schleife ein und lädt die Datei anschließend in HDFS hoch; Als nächstes wurde eine Hive Aktion, die die HQL-Skript ausführt, wie sie ist (schnell und schmutzig, aber nicht ideal für die Ausnahmebehandlung)
  • oder ein Java-Programm entwickeln, die zu HiveServer2 über JDBC verbindet, ein PreparedStatement mit 1 Bind Variable einreicht, und führt die Anweisung N-mal in einer Schleife mit unterschiedlichen Werten der Variablen aus.

Und vielleicht, ein Tag, Hive wird eine Art von Verfahrenssprache ähnlich wie PL/SQL, T-SQL, PgSQL usw., und Sie werden in der Lage zu passieren eine durch Kommata getrennte Liste von Werten unterstützen und es im Innern verarbeiten von Bienenstock.

Verwandte Themen