Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Spark DataFramejen Esittely | Tietojen Käsittely
Databricks Perusteet: Aloittelijan Opas

Spark DataFramejen Esittely

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

Spark DataFrame on hajautettu tietokokoelma, joka on järjestetty nimettyihin sarakkeisiin. Käsitteellisesti se vastaa relaatiotietokannan taulua tai taulukkolaskentaohjelman taulukkoa sarakeotsikoilla, mutta se on suunniteltu käsiteltäväksi tietokoneklusterissa.

Siirtyessäsi osioon 4 keskitymme käyttöliittymästä itse dataan. Jotta voit työskennellä tehokkaasti Databricksissä, sinun tulee ymmärtää DataFrame. Tämä on Apache Sparkin käyttämä perusrakenne tiedon säilyttämiseen ja käsittelyyn. Käytitpä sitten Pythonia, SQL:ää tai Scalaa, lähes kaikki toiminnot liittyvät DataFrameen.

Käytössä on myös PySpark-rajapinta, jota tulet käyttämään myöhemmin.

Apache Spark on tehokas moottori valtavien tietomäärien rinnakkaiseen käsittelyyn useilla tietokoneilla samanaikaisesti. Se on kirjoitettu Scalalla ja hoitaa varsinaisen raskaan työn Databricksin taustalla.

PySpark on yksinkertaisesti Python-rajapinta Sparkiin. Sen avulla voit kirjoittaa tavallisen näköistä Python-koodia, joka ohjaa Sparkia taustalla.

Kun kirjoitat df.filter() tai df.groupBy() Databricks-muistikirjassa, kirjoitat PySparkia — mutta Spark käsittelee oikeasti miljoonia rivejä klusterissasi.

Taulukkovertauksen käyttö

Helpoin tapa hahmottaa DataFrame on ajatella sitä yhtenä Excel-työkirjan taulukkona. Siinä on rivejä ja sarakkeita, joilla on tietyt nimet, kuten "Date", "Product_ID" tai "Price". Toisin kuin Excel-taulukko, joka sijaitsee omalla tietokoneellasi, Spark DataFrame on hajautettu. Tämä tarkoittaa, että jos tietoaineistosi on liian suuri yhdelle koneelle, Spark jakaa "taulukon" pienempiin osiin ja levittää ne klusterisi eri solmuille.

Miksi käyttää DataFrameja raakatiedostojen sijaan?

Kun luet raakamuotoisen CSV- tai JSON-tiedoston DataFrameen, Databricks tekee kaksi tärkeää asiaa:

  • Skeeman tunnistus: se analysoi dataa ymmärtääkseen, että "Price" on numero ja "Name" on tekstiä;
  • Optimointi: kun data on DataFramessa, Spark voi käyttää "optimointiaan" löytääkseen nopeimman tavan suodattaa tai yhdistellä dataa. Se toimii kuin GPS, etsien tehokkaimman reitin tulokseen, jotta laskentatehoa ei mene hukkaan.

Keskeiset ominaisuudet

DataFrameilla on kolme pääominaisuutta, jotka kannattaa muistaa:

  • Muuttumaton: kun DataFrame on luotu, sitä ei voi muuttaa. Jos "puhdistat" dataa tai "poistat sarakkeen", Spark luo itse asiassa uuden DataFramen, johon nämä muutokset on sovellettu. Tämä varmistaa datan eheyden;
  • Laiska evaluointi: Spark ei tee mitään työtä ennen kuin pyydät tulosta (esim. count tai display). Se rakentaa ensin "suunnitelman" ja suorittaa sen vasta, kun se on ehdottoman tarpeellista;
  • Yhtenäinen API: voit luoda DataFramen Pythonilla ja kysellä sitä SQL:llä. Taustalla oleva rakenne pysyy samana, mikä mahdollistaa "kielien sekoittamisen" kuten harjoittelimme osiossa 3.

DataFramet vs. taulut

Databricksissa termejä "taulu" ja "DataFrame" käytetään usein toistensa synonyymeinä, mutta niissä on pieni ero. Taulu on pysyvä objekti, joka tallennetaan Catalogiin. DataFrame on väliaikainen objekti, joka sijaitsee klusterin muistissa niin kauan kuin notebook on käynnissä.

Tyypillinen työnkulku on:

  • Ladataan data Catalogista DataFrameen;
  • Muokataan DataFramea koodilla;
  • Tallennetaan lopputulos takaisin Catalogiin tauluna.

1. Miten Spark DataFrame käsittelee tietojoukon, joka on liian suuri yhdelle tietokoneelle?

2. Mitä tapahtuu, kun "muokkaat" DataFramea Sparkissa, esimerkiksi poistat sarakkeen?

question mark

Miten Spark DataFrame käsittelee tietojoukon, joka on liian suuri yhdelle tietokoneelle?

Valitse oikea vastaus

question mark

Mitä tapahtuu, kun "muokkaat" DataFramea Sparkissa, esimerkiksi poistat sarakkeen?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Osio 4. Luku 1
some-alt