0

ファイルをフェッチし、テキストを抽出し、シェル スクリプトを実行するフローがあり、シェル スクリプトがハイブ スクリプトを実行します。(ファイルから日付を取得し、-hivevar として渡すだけです)。私のシェルスクリプトは次のようになります。

#!/bin/bash
endDate=$1

CONNECT="jdbc:hive2://master2:10000/default"

beeline -u "$CONNECT" -n root -hivevar endDate="$endDate" -f /pathToScript/Hive_scipt.hql

ハイブ スクリプトが完了し、データがテーブルに挿入されますが、ExecuteStreamCommand は無期限に実行され続け (1 は上隅に留まります)、nifi を再起動する必要があります (これを処理するより良い方法はありますか?)。

私はいくつかのことに気づきました:

  • クエリのサイズを小さくすると (私のハイブ クエリはユニオンの数です)、ExecuteStreamCommand はハングしません。
  • ジョブがハングすると、Resource Manager の AM はかなりの時間 (10 分程度) 実行中のままになります。1 つのコンテナーで Hive CLI Tez セッションを作成するときのようなものです。クエリのサイズを小さくしてもジョブがハングしない場合、AM はすぐに終了状態になります。- コマンド ラインを使用して完全なクエリまたはスクリプトを手動で実行すると、正常に動作します。
  • 動作に一貫性がありません。ハングしない場合もあれば、ハングする場合もあります...(ほとんどの場合はハングします..)

何か案は?app.log またはアプリケーション ログに何も見つかりませんでした

4

2 に答える 2