毎日保存されているファイルからデータを取得するパーティション分割されたデータベースを作成しました。正常に動作しますが、同じ日のファイルでパーティション スクリプトを 2 回実行すると、kdb が重複する行を追加する可能性があるのではないかと心配しています。
分割されたテーブルの存在を確認するために「キー」を使用する必要がありますか、または kdb が格納されたデータを複製しないことを保証する簡単な方法はありますか?
毎日保存されているファイルからデータを取得するパーティション分割されたデータベースを作成しました。正常に動作しますが、同じ日のファイルでパーティション スクリプトを 2 回実行すると、kdb が重複する行を追加する可能性があるのではないかと心配しています。
分割されたテーブルの存在を確認するために「キー」を使用する必要がありますか、または kdb が格納されたデータを複製しないことを保証する簡単な方法はありますか?
あなたの問題が、1) 同じファイルを複数回ロードすることを恐れているか、2) 複数のファイルに同じデータが含まれている可能性があるため、後続のロードで重複を作成したくないかどうかはわかりません。
1) については、DB の作成に使用する毎日保存されたファイルが更新されておらず、一意の名前を持っている場合、どのファイルが既に読み込まれているかを追跡し、その後の実行でこれらをスキップすることができます。
2) テーブルに物理的にキーを設定することはできませんが、sym、date、time、side などの特定の「キー」列がある可能性があります。現在ロードしているチャンクの「キー」値がすでに日付パーティション。その場合、それらのレコードを削除し、他のレコードは保持します。