Frage Einfaches oozie Beispiel der Bienenstockabfrage?


Ich versuche einen einfachen Arbeitsablauf in Oozie umzuwandeln. Ich habe versucht, die oozie Beispiele durchzusehen, aber sie sind ein bisschen überwältigend. Effektiv möchte ich eine Abfrage ausführen und das Ergebnis in eine Textdatei ausgeben.

hive -e 'select * from tables' > output.txt

Wie kann ich das in Oozie übersetzen, damit es jede Stunde läuft?


6
2018-05-08 13:24


Ursprung


Antworten:


Ihr Workflow könnte etwa so aussehen ...
workflow.xml

<workflow-app xmlns="uri:oozie:workflow:0.2" name="hive-wf">
    <start to="hive-node"/>
    <action name="hive-node">
        <hive xmlns="uri:oozie:hive-action:0.2">
           <job-tracker>localhost:50001</job-tracker>
            <name-node>hdfs://localhost:50000</name-node>
            <configuration>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>default</value>
                </property>
                <property>
                    <name>oozie.hive.defaults</name>
                    <value>/user/user1/oozie/hive-site.xml</value>
                </property>
            </configuration>
            <script>script.q</script>
            <param>INPUT_TABLE=SampleTable</param>
            <param>OUTPUT=/user/user1/output-data/hive</param>
        </hive>
        <ok to="end"/>
        <error to="fail"/>
    </action>
    <kill name="fail">
        <message>Hive failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>

Also, hier ist hive-site.xml das Site-XML, das in vorhanden ist $ HIVE_HOME / Konf Mappe.
Die script.q-Datei enthält die tatsächliche Hive-Abfrage. select * from ${INPUT_TABLE} .


Wie und wo können wir den OUTPUT-Parameter verwenden?


6
2018-05-09 05:15