Hadoop / HDFS/Hbaseでデータをバージョン管理する方法を知りたいです。変更の可能性が非常に高いため、モデルの一部である必要があります(ビッグデータは長期間にわたって収集されます)。
HDFS(ファイルベースのバックエンド)の主な例。
sample-log-file.log:
timestamp x1 y1 z1 ...
timestamp x2 y2 z2 ...
バージョニング情報をどこに追加するのか疑問に思います。私は2つの選択肢を見ます:
ファイル形式内のバージョン
log-file.log:
timestamp V1 x1 y1 z1 ...
timestamp V2 w1 x2 y2 z1 ...
ファイル名内のバージョン
* log-file_V1.log *
timestamp x1 y1 z1 ...
* log-file_V2.log *
timestamp w1 x1 y1 z1 ...
2番目のオプション(ファイル名のバージョン)は、私にはもう少しクリーンで、HDFSに適合します(古いバージョンスタイルのファイルを除外するパターンとして* _v2 *を使用できます)。一方、1つのジョブでバージョンスニペットを分析できないため、2つの異なるジョブを実行する必要があります。
HBaseについてはどうでしょうか。HBaseでは、バージョンは間違いなく別のテーブル列で終わると思います(HDFSは実装の詳細であり、HBaseのバックエンドとして使用されます)。
バックエンドHadoop/HDFS / HBaseのデータをバージョン管理する他の代替アプローチはありますか?
ありがとう!
編集:私の質問は、タイムスタンプではなく、バージョン情報自体を処理する方法に関連しています。