Planuję codziennie dodawać dane przyrostowe do tabeli BigQuery. Za każdym razem, gdy dodaję dane przyrostowe do istniejącej tabeli, chcę wyeliminować zduplikowane rekordy (na podstawie kolumny klucza podstawowego) z istniejących danych w tabeli. Jedno podejście byłoby -Eliminowanie duplikatów rekordów w tabeli BigQuery
- Zebrać zestaw kluczy z pierwotnych danych (pozwala wywołać
INCR_KEYS
) - uruchomić kwerendę na liniach -
SELECT all_cols from table where pkey_col NOT IN (INCR_KEYS)
- i przechowywać wyniki w nowej tabeli. - Dołącz dane przyrostowe do nowej tabeli.
Moja troska o takie podejście polega na tym, że tworzy duplikat dużego stołu i dodaje do moich rachunków.
Czy istnieje lepszy sposób osiągnięcia tego samego bez tworzenia duplikatu tabeli?
Jak duże jest tabela? Jeśli skompresowane zostanie więcej niż 64 MB, błąd nr 2 zakończy się niepowodzeniem. –
@RyanBoyd - To nie powinno być problemem. Jeśli INCR_KEYS> 64 MB, mógłbym podzielić INCR_KEYS na mniejsze kawałki i powtórzyć <2> – user1659408
Problem polega na tym, że pełna tabela (tj. Dane nie w INCR_KEYS) ma> 64 MB. Zapytanie SELECT w punkcie 2 nie powiedzie się. –