4台のマシンからなるCDH4クラスタ(1つのマスターすべて、3つの "ダム"ワーカー)で稼働する、怠惰なワークフローがあります。ハイブメタストアは、mysql(ドライバが存在する)を使用してマスタ上で実行され、oozieサーバもmysqlを使用してマスタ上で実行されます。 Webインターフェイスを使用して、想定どおりにハイブをインポートしたり照会したりできますが、同じクエリを同じワークフローで実行すると失敗します。 「IF EXISTS」を追加しても、以下のエラーが発生します。私はハイブジョブにプロパティとして接続情報を追加しようとしましたが、成功しませんでした。Oozieワークフロー:ハイブテーブルが見つかりませんでしたが、存在します
誰でも私にヒントを教えてもらえますか?私は何かが欠けていたか?それ以上の情報は必要ですか?
これは、ジョブのログの出力です:
Script [drop.sql] content:
------------------------
DROP TABLE IF EXISTS performance_log;
------------------------
Hive command arguments :
-f
drop.sql
=================================================================
>>> Invoking Hive command line now >>>
Intercepting System.exit(10001)
<<< Invocation of Main class completed <<<
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.HiveMain], exit code [10001]
Oozie Launcher failed, finishing Hadoop job gracefully
そして、これはエラーメッセージです:
FAILED: SemanticException [Error 10001]: Table not found performance_log
Intercepting System.exit(10001)
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.HiveMain], exit code [10001]
このHueのブログ記事は、[Hiveアクションを実行する方法]を示しています(http://gethue.tumblr.com/post/60937985689/ hadoop-tutorials-ii-2-execute-hive-queries-and)をOozieのワークフローで使用します。 – Romain