0

時間 (年、月、日、時間) で分割されたイベント テーブルを持つ年、月、日、時間を変数として取得するハイブ スクリプトでいくつかのイベントに参加したいのですが、たとえば 6 時間すべてからイベントを追加するにはどうすればよいですか「すべて回復...」なしで私の時間の前に

10倍

4

1 に答える 1

0

したがって、基本的に必要なのは、Hiveスクリプトがパラメーターとして受け取る日付を使用し、その日付の3時間前と3時間後にすべてのパーティションを追加する方法でした。すべてのパーティションを回復せずに、すべてのWhere句に特定の時間を追加します。

ハイブスクリプト内でそれを行う方法が見つからなかったので、日付とテーブル名、および前後から追加する時間数を取得する簡単なPythonコードを作成しました。次のコマンドを使用してHiveスクリプト内で実行しようとすると、!python script.py tablename $ {hivecond:my.date} 3変数の置換が!で始まる行で行われないことに驚きました。

私の回避策は、次のようなものを使用して、マシンのログファイルからハイブスクリプトが受信した日付を取得することでしたls /mnt/var/log/hadoop/steps/ |sort -r|head -n 1。 Hive経由で渡さずにPythonコード。

于 2012-10-24T09:08:32.690 に答える