私は、6データノードと1 namenodeを持つHadoopクラスタを持っています。毎日稼働するHIVEには(4)のジョブはほとんどなく、sqoopを使ってログファイルからOLPTデータベースにデータをプッシュします。私は環境にぬっこをインストールしていません。すべてがHIVEスクリプトファイル(.sqlファイル)で書かれており、私はそれらをUNIXスクリプト(.shファイル)から実行します。それらのシェルスクリプトファイルは、異なる時間にそれらを実行するために、異なるOSのcronジョブでアタッチされます。HIVE-SQOOPベースのバッチジョブの例外、エラー、ログの取得方法は?
今の要件はこれです:
が日常的に個別に各ジョブのログ/ステータスを生成します。これらのログを調べると、どのジョブが正常に実行され、実行に時間がかかったのか、そのジョブが失敗したジョブをダンプ/スタックすることができます(機能計画は、メールサーバーとすべての失敗または成功のジョブシェルスクリプトは、それらのログ/ステータスファイルを添付してそれぞれのスタック所有者にメールを送信します)
私の問題は、これらのバッチジョブ/シェルスクリプトまた実行時間とともに成功ログを生成する方法は?
出力をリダイレクトすることによってHIVEに実行される各クエリの出力をテキストファイルで取得しようとしましたが、それは動作しません。例えば
:
Select * from staging_table;>>output.txt
は一日一日に基づき、一人ひとりHIVEジョブのHIVEログを構成することによって、これを行う方法はありますか?
いずれかがこの問題に直面した場合は教えてください。どうすれば解決できますか?
「ハイブ」では、外部システムコマンドを ''!''で実行することができますので、 'select'の出力には' tee'を使用してみてください – Vishrant
didあなたは他の何かを見つけるか?IMHO私があなたに提案したもの以外には絶対に可能ではありません... –
他に何かを見つけましたか? –