5

次の問題を解決するために、hadoop と hive を使用する予定です。

特定のタイムスタンプで測定された温度を表す、たとえば形式 (タイムスタンプ、温度) のデータのストリームがあります。毎日、いくつかの集計 (最大など) を計算する必要があります。集計は、毎日 1 回 (真夜中など) に計算する必要があります。

データを何らかの方法でハイブにロードし、日付でパーティション分割することを考えました。ただし、問題が 1 つあります。ストリーム内のデータをタイムスタンプで並べ替える必要はありません。遅延したレコードを受け取ります。レコードが本来よりも数日遅れて到着する場合があります。この場合、通常の集計を生成しながら、そのタイムスタンプを含む日の集計も計算する必要があります。

直感的に、ハイブ テーブルのそれぞれのパーティションに後期レコードを追加したいと思います。パーティション全体をリロードせずにこれを行うことは可能ですか? (そして、パーティションをリロードするのはコストのかかる操作ですか?)

4

1 に答える 1

2

現時点では、レコードをパーティション (またはテーブル) に追加できるとは思えないため、パーティションをテーブルにロードする前にレコードをソートする必要があります - 2 フェーズのように見えます私にプロセス。

ただし、パーティションを上書きできるので、少なくとも変更されたパーティションを処理できると思います。

少なくとも現時点では、Hive はバッチ指向のシステムです。

于 2012-10-28T10:25:43.053 に答える