Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Perustason Tietojen Päivitykset ja Poistot | Keskeiset Databricks-Käsitteet
Databricks Perusteet: Aloittelijan Opas

Perustason Tietojen Päivitykset ja Poistot

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

Tavallisissa Data Lake -ratkaisuissa yksittäisen rivin päivittäminen tai poistaminen on lähes mahdotonta ilman koko tietoaineiston uudelleenkirjoittamista. Koska Delta Lake käyttää transaktiolokia, se tukee tavallisia SQL:n UPDATE- ja DELETE-komentoja, mahdollistaen tarkat muutokset tauluihisi.

Edellisessä osiossa keskityit tietojen lukemiseen ja yhteenvedon tekemiseen. Data ei kuitenkaan ole koskaan täysin staattista — saatat huomata, että osa timanttiaineiston hinnoista on virheellisiä tai tietty "cut"-tyyppi täytyy poistaa raporteista.

Koska diamonds-taulu on Delta-taulu, voit muokata sitä kuten perinteistä tietokantaa.

1. Tietueiden päivittäminen

UPDATE-komennolla voit muuttaa arvoja tietyissä riveissä, jotka täyttävät ehdon. Esimerkiksi, jos kaikille "Fair"-leikkauksen timanteille annetaan 10 % hinnankorotus:

UPDATE workspace.workshop.diamonds
SET price = price * 1.1
WHERE cut = 'Fair'
  • SET — Määrittää sarakkeelle uuden arvon
  • WHERE — Tärkeä. Ilman WHERE-ehtoa päivittäisit hinnan kaikille timanteille koko taulussa

2. Tietueiden poistaminen

DELETE-komento poistaa rivit taulusta pysyvästi. Käytä tätä, kun data ei ole enää relevanttia tai se on tuotu vahingossa.

DELETE FROM workspace.workshop.diamonds
WHERE carat > 5.0

Tämä komento tunnistaa kaikki yli 5 karaatin timantit ja poistaa ne taulun aktiivisesta versiosta.

3. Muutosten varmistaminen

Päivityksen tai poiston jälkeen muutos kannattaa aina varmistaa yksinkertaisella SELECT count -kyselyllä, jotta operaatio toimi odotetusti.

-- Verify how many 'Fair' diamonds are left (count should be the same, but prices changed)
SELECT count(*) FROM workspace.workshop.diamonds WHERE cut = 'Fair'

4. Delta-päivitysten turvallisuus

Kun suoritat DELETE- tai UPDATE-komennon, Delta Lake ei poista dataa vanhoista tiedostoista suoraan. Sen sijaan se noudattaa kolmiportaista prosessia:

  1. Merkitsee vanhat tiedostot "epäkelvoiksi"
  2. Kirjoittaa uudet tiedostot, jotka sisältävät päivitetyn datan
  3. Tallentaa muutoksen Transaction Logiin

Tämän vuoksi Time Travel toimii edelleen poiston jälkeenkin — vanha data säilyy taulun tiedostojen aiemmissa versioissa, kunnes historia poistetaan manuaalisesti.

5. Paras käytäntö: Testaus SELECT-komennolla

Ennen kuin suoritat DELETE- tai UPDATE-komennon, testaa aina suodatin ensin SELECT-komennolla.

  • Sen sijaan että: DELETE FROM diamonds WHERE color = 'J'
  • Kokeile ensin: SELECT * FROM diamonds WHERE color = 'J'

Jos SELECT-tulokset näyttävät täsmälleen ne rivit, jotka haluat poistaa, voit turvallisesti jatkaa DELETE-komennolla.

1. Mitä tapahtuu, jos suoritat UPDATE-komennon ilman WHERE-ehtoa?

2. Poistaako DELETE-komennon suorittaminen Delta-taulussa tiedot välittömästi taustalla olevasta pilvitallennuksesta pysyvästi?

question mark

Mitä tapahtuu, jos suoritat UPDATE-komennon ilman WHERE-ehtoa?

Valitse oikea vastaus

question mark

Poistaako DELETE-komennon suorittaminen Delta-taulussa tiedot välittömästi taustalla olevasta pilvitallennuksesta pysyvästi?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 5. Luku 4
some-alt