skotani-db / openhack2024

MIT License
3 stars 3 forks source link

処理の意図の補足 #22

Closed rsk800 closed 3 weeks ago

rsk800 commented 3 weeks ago

おそらく商品マスターテーブルや価格マスターテーブル作成の処理だと思いますが、処理だけを見るとなぜここでtimestampのmaxを取ってidの重複を避けているかが理解しづらかったです。

各エンティティがマスターテーブルなのかトランザクションテーブルなのか明記すると一連の処理が目指していることが伝わりやすいと感じました。

https://github.com/skotani-db/openhack2024/blob/1dfbd8e2c4379d7714c68ce56529532e4c5001a2/content/01_medallion_architecture.py#L317

manabian- commented 3 weeks ago

マスターテーブルやトランザクションテーブルに関係なく、 テーブルの主キー制約を満たすための処理となっております。詳細に記述すると参加者が混乱してしまうことを懸念してあまり詳しく書いておいておりません。疑問に思った方には、個別に説明をしてきました。

Databricks にて Bronze にて Auto Loader で取り込む場合には、基本的には一意性が保証されていない状態であるため、本処理はレイクハウスアーキテクチャ実装に必須な処理です。 別の話にはなりますが、 Delta LIve Table の APPLY CHANGES API を利用する際にはほぼ同様の処理が実施されます。

rsk800 commented 3 weeks ago

意図理解しました。

rsk800 commented 2 weeks ago

03_data_analysis_by_gen_ai内でアシスタントのシステムメッセージを設定する部分で説明あり。

https://github.com/skotani-db/openhack2024/blob/19eadf5e8b81ccb395ee4ddf3abb768a3eb718fe/contents_with_answer/03_data_analysis_by_gen_ai.py#L129