Closed rsk800 closed 3 weeks ago
マスターテーブルやトランザクションテーブルに関係なく、 テーブルの主キー制約を満たすための処理となっております。詳細に記述すると参加者が混乱してしまうことを懸念してあまり詳しく書いておいておりません。疑問に思った方には、個別に説明をしてきました。
Databricks にて Bronze にて Auto Loader で取り込む場合には、基本的には一意性が保証されていない状態であるため、本処理はレイクハウスアーキテクチャ実装に必須な処理です。 別の話にはなりますが、 Delta LIve Table の APPLY CHANGES API を利用する際にはほぼ同様の処理が実施されます。
意図理解しました。
03_data_analysis_by_gen_ai内でアシスタントのシステムメッセージを設定する部分で説明あり。
おそらく商品マスターテーブルや価格マスターテーブル作成の処理だと思いますが、処理だけを見るとなぜここでtimestampのmaxを取ってidの重複を避けているかが理解しづらかったです。
各エンティティがマスターテーブルなのかトランザクションテーブルなのか明記すると一連の処理が目指していることが伝わりやすいと感じました。
https://github.com/skotani-db/openhack2024/blob/1dfbd8e2c4379d7714c68ce56529532e4c5001a2/content/01_medallion_architecture.py#L317