-
Spark
Spark
Apache Spark on suosittu, korkean suorituskyvyn hajautetun laskennan kehys. Spark on erinomainen työkalu data-analyysiin ja koneoppimistehtäviin, kun aineisto kasvaa liian suureksi yhden koneen käsiteltäväksi.
Saatavuus
Rahti
Lisenssi
Käyttö on mahdollista sekä akateemisiin että kaupallisiin tarkoituksiin.
Sparkin käyttöönotto Rahdissa
Spark-malli löytyy Rahdin mallikatalogista. Katso Rahdin käyttöoppaasta, miten saat käyttöoikeuden ja aloitat uuden projektin. Valitse Apache Spark -malli ja lue Information-näkymän huomautukset huolellisesti. Seuraa linkkejä, jos tarvitset lisätietoja komponenteista.
Napsauta Next täyttääksesi klusterin muuttujat.
Muuttujat:
Alla on lueteltu joitakin muuttujia, joita voidaan muuttaa.
Note
CPU:n ja muistin arvoja tulisi muuttaa (virheiden välttämiseksi) vasta sen jälkeen, kun olet tarkistanut Rahti-projektiisi varatun projektikiintiön (projektisivun vasemman paneelin Resources - Quota -näkymästä). Projektikiintiötä voivat tarvittaessa kasvattaa myös ylläpitäjät. Rahti-projektit ja kiintiöt Malli olettaa, että pyyntö ja rajat ovat samat kaikille konteille. Jos haluat käyttää eri rajoja, on suositeltavaa muokata mallia (edistyneille käyttäjille).
Pakolliset vaaditut arvot:
- Cluster Name: Yksilöllinen tunniste klusterillesi
- Username: Käyttäjänimi Spark-klusteriin ja Jupyteriin tunnistautumista ja kirjautumista varten (Suositus: luo uusi käyttäjänimi, älä käytä olemassa olevaa)
- Password: Salasana Spark-klusteriin ja Jupyteriin tunnistautumista ja kirjautumista varten (Suositus: luo uusi salasana, älä käytä olemassa olevaa)
-
Worker Replicas: Työntekijöiden määrä (Oletus: 4)
-
Storage Size: Pysyvän tallennustilan taltiokoko (Oletus: 10G)
Valinnaiset vaaditut arvot:
- Enable Jupyter Lab: Määrittää, haluatko käyttää Jupyter Labia oletusarvoisen Jupyter Notebookin sijaan (Oletus: false)
- Master CPU: Klusterin master-solmun ytimien määrä
- Master Memory: Klusterin master-solmun muisti
- Worker CPU: Kunkin worker-solmun ytimien määrä (Oletus: 2)
-
Worker Memory: Kunkin worker-solmun muisti (Oletus: 4G)
-
Executor Default Cores: Spark Executor Cores -asetuksen oletusarvo (katso lisätietoja virallisesta Spark-dokumentaatiosta) (Oletus: 2)
-
Executor Default Memory: Spark Executor Memory -asetuksen oletusarvo (Tämän tulee aina olla pienempi kuin worker-solmun muisti!) (Oletus: 3G)
-
Driver CPU: Ajurin ytimien määrä (Jupyter Notebook)
- Driver Memory: Ajurin muisti (Jupyter Notebook)
Älä muuta seuraavia muuttujia, ellet tiedä mitä olet tekemässä
- Master Image: Docker image masterille
- Worker Image: Docker image workerille
- Driver Image: Docker image ajurille
- Application Hostname Suffix: Julkaistu hostname-pääte, jota käytetään reittien luomiseen Spark UI:lle ja Jupyter Notebookille
Note
Data tallennetaan yhteen jaettuun taltioon, joten on tärkeää valita riittävän suuri tallennustila, koska sitä ei voi kasvattaa käyttöönoton jälkeen. Lisää tallennustaltioita voidaan kuitenkin lisätä.
Napsauta Create ja Close. Näet uuden klusterisi provisioituvan Overview-sivulla. Kun provisiointi on valmis, löydät Jupyter-käyttöliittymän osoitteesta https://< cluster-name >-jupyter.rahtiapp.fi ja Spark-käyttöliittymän osoitteesta https://< cluster-name >-spark.rahtiapp.fi
Spark-mallin käyttöönotto luo sinulle Jupyter Notebook -käyttöliittymän, Spark-masterin ja Spark-workerit yllä kuvatun worker replica -muuttujan mukaisesti.
Klusterin skaalaus voidaan tehdä Overview-näkymässä kasvattamalla spark-worker-podien määrää podimääräkuvakkeen oikealla puolella olevilla ylös- ja alasnuolilla. Pienennä kaikki podit nollaan sammuttaaksesi klusterisi ja säästääksesi pilven laskutusyksiköitä (BUs).
Lyhyet kuvaukset käyttöönotetuista komponenteista
- Jupyter notebook : mahdollistaa Spark-koodin kirjoittamisen Python- tai R-muodossa ja tarjoaa myös mahdollisuuden käyttää päätettä, jota voidaan käyttää esimerkiksi datan lataamiseen Altaaseen pitkäaikaissäilytystä varten. Notebookin käyttöosoite löytyy napsauttamalla pudotusvalikkoa ja etsimällä kohta Routes, jossa URL näkyy. Oletuksena kaikki Jupyterissa käynnistämäsi notebookit yhdistetään klusteriisi.
- Spark master: yhdistää Jupyter-notebookisi Spark-koodin lukemista varten ja koordinoi workereitasi; sillä on selainkäyttöliittymä, jonka URL näkyy napsauttamalla pudotusvalikkoa ja etsimällä Routes-kohdan.
- Spark workers: workerit vastaavat varsinaisesta laskennasta. Oletuksena sinulle luodaan 4 workeria, ja voit luoda lisää napsauttamalla ylös- ja alas-painikkeita.
Note
Muista aina tallentaa datasi Jupyter-notebookien oletuspolkuun /mnt/<project-name>-pvc/* . PVC-tallennustila on hajautettu ja replikoitu pysyvä tallennustila, joka on kaikkien Spark-podiesi käytettävissä. Jos tallennat dataa muualle, se poistetaan heti, kun väliaikainen podi poistetaan. On myös suositeltavaa tallentaa arvokas data ajoittain toiseen sijaintiin. Allas-objektitallennus soveltuu suurten aineistojen ja analyysitulosten tallentamiseen. Allasta voidaan käyttää myös raakadatan tallentamiseen, ja Spark voidaan asettaa lukemaan data sieltä.
Allas-objektitallennuksen käyttö
S3CMD-työkalu on asennettu Spark-imageen, ja sitä voidaan käyttää arvokkaiden tiedostojen siirtämiseen Allas-objektitallennukseen.
Avaa uusi pääte Jupyter Notebook -käyttöliittymästä
Lataa Allas-konfiguraatio GitHubista ja käytä sitä s3cmd:n määrittämiseen:
wget https://raw.githubusercontent.com/CSCfi/allas-cli-utils/master/allas_conf
source allas_conf --mode s3cmd --user your-csc-username
Hyödyllisiä s3cmd-komentoja:
s3cmd ls
s3cmd put -r data/examplefile.parquet s3://<your-bucket-name>/
s3cmd get -r s3://<your-bucket-name>/examplefile.parquet ./
Lisätietoja s3cmd:n määrittämisestä Allasta varten ja käyttöohjeet löytyvät CSC:n Allas-dokumentaatiosta