-
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 malliluettelosta. 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 virheiden välttämiseksi muuttaa vasta sen jälkeen, kun olet tarkistanut Rahti-projektille varatun projektikiintiön (projektisivun vasemman paneelin Resources - Quota -näkymästä). Projektikiintiötä voidaan tarvittaessa myös kasvattaa ylläpitäjien toimesta. Rahti-projektit ja kiintiöt Malli olettaa, että pyyntö- ja raja-arvot ovat samat kaikille konteille. Jos haluat käyttää eri raja-arvoja, on suositeltavaa muokata mallia (edistyneille käyttäjille).
Pakolliset 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 tallennuksen taltio koko (Oletus: 10G)
Valinnaiset 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 workerin ytimien määrä (Oletus: 2)
-
Worker Memory: Kunkin workerin 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 (Tulee aina olla pienempi kuin workerin 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-kuva masterille
- Worker Image: Docker-kuva workerille
- Driver Image: Docker-kuva ajurille
- Application Hostname Suffix: Julkaistu isäntänimen 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. Muistikirjan käyttöosoite löytyy napsauttamalla pudotusvalikkoa ja etsimällä kohta Routes, jossa URL-osoite näkyy. Oletusarvoisesti kaikki Jupyterissa käynnistämäsi muistikirjat yhdistetään klusteriisi.
- Spark master: yhdistää Jupyter-muistikirjasi Spark-koodin lukemista varten ja koordinoi workereitasi. Sillä on selainkäyttöliittymä, jonka URL-osoite näkyy napsauttamalla pudotusvalikkoa ja etsimällä Routes-kohdan.
- Spark workers: Workerit vastaavat varsinaisesta laskennasta. Oletusarvoisesti sinulle luodaan 4 workeria, ja voit luoda lisää napsauttamalla ylös- ja alas-painikkeita.
Note
Muista aina tallentaa datasi Jupyter-muistikirjojen oletuspolkuun /mnt/<project-name>-pvc/* . PVC-tallennus on hajautettu ja replikoitu pysyvä tallennus, ja se 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 säilyttämiseen. Allasta voidaan käyttää myös raakadataan, ja Spark voidaan asettaa lukemaan data sieltä.
Allas-objektitallennuksen käyttö
S3CMD-työkalu on asennettu Spark-kuvaan, ja sitä voidaan käyttää arvokkaiden tiedostojen siirtämiseen Allas-objektitallennukseen.
Avaa uusi pääte Jupyter Notebook -käyttöliittymästä
Lataa Allas-conf 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öohje löytyy CSC:n Allas-dokumentaatiosta