0

ハイブ テーブルの代理キーを作成したいのですが、データがテーブルに配置されるたびに複製できるものです。他のテーブルは代理キーを介してこのテーブルを参照し、テーブルを再生成して行を追加することができ、その関連付けは壊れません。私の考えは、基本的にテーブル内のすべての列の複合キーを持つことです。

すべての列を連結し、その文字列の md5 ハッシュを取得して、その行の簡単なルックアップとして使用することは合理的ですか?

このソリューションで見られる問題は次のとおりです。

  • 行内のデータが変更された場合でも、関連付けは解除されます
  • ハッシュ値が一意であるという実際の保証はありません (ただし、私の数値では、衝突はほとんどありません)

データに関する注意事項:

  • データは日ごとに分割され、1 日あたり約 10 万行あります。
  • 2 つの行がまったく同じデータを持つ場合があり、最終的に同じキーになっても問題ありません。
4

1 に答える 1