Miksi sinun pitäisi käyttää Jupyter Notebookia
Jupyter-muistikirja
on melko näppärä työkalu, jota voit käyttää päivittäisessä toiminnassasi. Selvittääksemme Jupyter Notebookin edut, kerromme, kuinka käytämme sitä tavallisten pulmien ratkaisemiseen osoitteessa
Etsidata
.
Mutta ennen kuin sukeltamme syvälle erityiseen käyttöön, tutustutaan Jupyter-muistikirjoihin.
Mikä on Jupyter-muistikirja?
Jupyter Notebook on avoimen lähdekoodin verkkosovellus, jonka avulla käyttäjä, tieteellinen tutkija, tutkija tai analyytikko voi luoda ja jakaa asiakirjan nimeltä
Muistikirja,
sisältää reaaliaikaisia koodeja, dokumentaatiota, kaavioita, piirroksia ja visualisointeja.
Jupyter Notebook tarjoaa tuen yli 40 ohjelmointikielelle käyttäjille, mukaan lukien useimmin käytetyt ohjelmointikielet –
Python
,
R
,
Julia
muutamia mainitakseni. Sen avulla käyttäjä voi ladata muistikirjan useissa tiedostomuodoissa, kuten PDF, HTML, Python, Markdown tai .ipynb-tiedosto.
Mikä tekee Jupyter Notebookista analyysin tosiasiallisen standardin?
Jupyter Notebookin usean ohjelmoinnin tuen, ominaisuuksien valtavan saatavuuden ja nopeasti kasvavan suosion ansiosta siitä on tullut standardi kaikenlaisille analyyseille, visualisoinneille, nopealle prototyyppien luomiselle, ML:lle ja erilaisille koodikäytännöille.
Kuka käyttää Jupyter-muistikirjoja?
Jokainen henkilö, joka on datatieteilijä, tietoinsinööri, dataanalyytikko, koneoppimisen tutkija, tutkija, tieteellinen tutkija tai yleinen käyttäjä, joka haluaa tehdä kaikenlaista tieteellistä laskemista, tietojenkäsittelyä tai visualisointia koskevia töitä, voi käyttää Jupyteria. Muistikirja.
Perusarkkitehtuuri Jupyter Notebookin takana
Kuva: [1] Kuva, joka esittää Jupyter Notebookin peruskomponentteja
Kuinka Jupyter Notebook toimii – Jupyter Notebookin osan kanssa vuorovaikutuksessa oleva käyttäjä suorittaa koodin ja tallentaa koodin tulosteen ja merkintämuistiinpanot muokattavaan asiakirjaan, jota kutsutaan muistikirjaksi.
Kun käyttäjä tallentaa muistikirjatiedostonsa, se lähetetään käyttäjän selaimesta muistikirjan palvelimelle. Se tallennetaan sitten levylle nimellä a
JSON-tiedosto
a
.ipynb
laajennus. Jupyter Notebook -palvelin on vastuussa käyttäjien muistikirjojen tallentamisesta, lataamisesta ja muokkaamisesta, jos ydin ei vieläkään ole läsnä.
Jupyter-muistikirja @
Etsidata
Me Elucidata työskentelee tämän projektin parissa kehittääksemme uusia ominaisuuksia ja palveluita perinteisen Jupyter Notebookin päälle, jotta loppukäyttäjillämme olisi paras käyttökokemus.
Olemme työstäneet Jupyter-muistikirjan, jossa on aivan uusi ja tyylikäs käyttöliittymä sekä uusia mukautettuja toimintoja. Emme jätä yhtään kiveä kääntämättä tehdäksemme siitä parhaan mahdollisen kannettavan käyttökokemuksen käyttäjällä.
Olemme omistautuneet tälle projektille tehdäksemme siitä sen, mitä datatieteilijä, tietoinsinööri tai datatutkija haluaisi alustaltamme.
Käyttötapauksemme
Esittelimme Jupyter Notebookit alustamme ekosysteemiin –
PollyTM
, joka tukee sisäänrakennettujen työnkulkujen lopputuloksen käsittelyä, visualisointia ja ohjelmointia. Myöhemmin hyödynsimme Jupyter Notebookin toimintoja ja yhdistämme sen JupyterHub-arkkitehtuuriin laajentaaksemme toimintoja seuraaviin käyttötapauksiin:
Projekti
: Sisään
PollyTM
, käyttäjä voi siirtyä projektiinsa, ja sieltä hän voi avata tallennetun Jupyter-muistikirjan, luoda uuden Jupyter-muistikirjan tai jopa ladata olemassa olevan Jupyter-muistikirjan. Project on Jupyter Notebookin laajimmin käytetty toiminto PollyTM:n avaamiseen, luomiseen, muokkaamiseen ja jopa poistamiseen.
Mallit
: Olemme myös rakentaneet joitain yleisiä mallimuistikirjoja tukemaan kaikkia käyttötapauksia
Analyysi
: Analyysi on avainasemassa arvokkaiden oivallusten löytämisessä valtavista genomiikka- ja metabolomiikkatietojoukoista, jotka on ladattu alustallemme erilaisten sisäisten koontiversioiden ja työnkulkujen suorittamista varten. Integroimalla Jupyter Notebookin tarjoamme loppukäyttäjillemme ja sisäisille tietotutkijoillemme kätevän käyttöliittymän koodin interaktiiviseen ajamiseen, tulosteiden tutkimiseen ja tietojen visualisointiin – kaikki yhdessä pilvipohjaisessa kehitysympäristössä. Tämän lisäksi olemme lisänneet alustamme API:n mukautetun toiminnon, joka toimii saumattomasti datajoukon noutamisessa pilvihallinnastamme suoraan Notebookiin.
Sisäiset rakentamamme työnkulkumme
: Kun laajensimme alustaa, otimme käyttöön uusia ominaisuuksia, joita kutsutaan työnkuluiksi. Suunnittelutiimimme kovilla ponnisteluilla & datatieteiden tiimin yhteistyöllä onnistuimme rakentamaan työnkulkuja, jotka ovat sarja algoritmeja, jotka ajetaan tietyllä tavalla tietyn tavoitteen saavuttamiseksi
Datatutkija
s voivat koodata kokeilun isännöimällä Jupyter-muistikirjallamme
Ohjelmistoinsinöörit
voi koodata erilaisia toimintoja Jupyter-muistikirjan avulla
Jupyter-muistikirjajärjestelmämme
Tällaisten käyttötapausten tukeminen vaatii melko skaalautuvan ja tukevan infrastruktuurin. Käydään läpi joitain Jupyter Notebook -järjestelmämme osia.
Dokkari
:
Dockerilla on keskeinen rooli infrastruktuurissa ja loputtomassa tuessa interaktiivisille kannettavillemme. Kaikki Jupyter-muistikirjamme toimivat suljetussa ympäristössä, jossa on kaikki valmiiksi määritetyt toiminnot ja kirjastopaketit, joita loppukäyttäjä saattaa tarvita päivittäisessä työssään.
JupyterHub
:
JupyterHub
on korkean tason arkkitehtuuri, joka hoitaa käyttäjän todennuksen, reitityksen, kannettavan telakointiaseman luomisen, muistikirjojen tunnistamisen ja poistamisen, kun ne eivät ole enää käytössä.
Miksi valitsimme JupyterHubin + Dockerin?
Emme halunneet käyttäjien kamppailevan oikeiden pakettiversioiden asennuksista ja riippuvuuden hallinnasta. Halusimme, että jokaisella käyttäjällä, eli datatieteilijöillä, tietosuunnittelijoilla tai data-analyytikoilla, on identtinen toistettavissa oleva ympäristö, jossa on sama kirjasto ja samat tietojoukot. Itse asiassa sama versio kaikesta.
Jos annamme heidän asentaa omiin podeihinsa, se johtaisi erilaisiin ympäristöversioihin riippuen siitä, mitä työnkulkua he käyttävät paketin asennusohjelmassa.
Täysin isännöity ympäristö varmistaa, että kaikilla on sama saumaton lähtökohta.
Käyttöliittymä
: Olemme suunnitelleet uudelleen Jupyter Notebookin käyttöliittymän. Käytimme CSS:ää ja JS:ää JQueryn kaltaisten kirjastojen kanssa antaaksemme sille täydellisen ja puhtaan käyttöliittymän. Se on intuitiivinen käyttöliittymä minimalistisella estetiikalla. Tämä vaati harkitun UX-suunnittelun, joka teki vaikeiden asioiden tekemisestä helppoa. Alla on muistikirjamme ulkoasu.
Polly iPython Jupyter
Laske
: Käyttäjän virtuaalikoneen ilmentymät tukevat ytimen laskentaa, jossa on 2 Gt RAM-muistia ja 100 Gt lohkotallennustilaa, mutta saatavuuden ja klusterin käytön mukaan laskentateho kasvaisi. Meidän klusterimme on
AutoScale
käytössä, mikä mahdollistaa uusien käyttäjäryhmien luomisen lennossa korkeiden pyyntöjen perusteella. Olemme ottaneet käyttöön koko muistikirjainfrastruktuurimme Google Cloudissa.
Klusterinhallintaohjelmisto
:
Käytämme
Kubernetes
laskentaesiintymien ja klusterin hallintaan. Kubernetes varmistaa, että käynnissä olevat podit eivät sammu virheen vuoksi, ja ylläpitää korkeaa käytettävyyttä. Kubernetesin avulla pystymme hallitsemaan yli 1000 käyttäjän podia menettämättä mitään tietoja
Käyttöönotto
:
Käytämme
Ruori
(paketinhallinta) Kubernetesille automatisoimaan käyttöönottoprosessimme. Ruori varmistaa, että oikea telakointikuva otetaan käyttöön ja säilytetään tulevaa käyttöä varten, jotta kuvan vetäminen ei uudelleen ja syntymisaika lyhenee
Tallennustila
:
Käytämme
Amazon S3
tallennusjärjestelmänä käyttäjien muistikirjalle ja heidän uudelleenkäytettäville skripteilleen Jupyter-muistikirjassa. Siten jokaisella käyttäjäprojektilla on S3:ssa hakemistorakenne muistikirjan tallentamista, hallintaa, luomista tai poistamista varten. He voivat käynnistää sen interaktiivisen muistikirjan sisältä käsin
alustamme
. Seuraavassa on tilannekuva käyttäjien projektin tallennustilasta S3:ssa.
Elucidata Pollyn S3-tallennusnäkymä
Tässä on lyhyt tekninen pinokartta
Elucidata Jupyter Notebook -tekniikkapino
Mitä opimme?
Vähennä ihmisen huoltoa:
Suuria skenaarioita on helppo skaalata ilman paljon ihmisen väliintuloa, mikä välttäisi pullonkauloja. Helmin avulla olemme myös vähentäneet insinööriemme käyttöönoton aikana kohtaamia pullonkauloja
Upea infrastruktuuri:
Tämän kehityksen myötä meillä on vakaa infrastruktuuri, joka pystyy käsittelemään suuria käyttäjäpyyntöjä, useita sisäisiä ympäristöjä, mikä mahdollistaa useiden telakointisäiliöiden suorittamisen esiintymässä ja antaa käyttäjän suorittaa tehtävänsä.
Löydä uusia mahdollisuuksia: Jupyter Notebookin kehitys- ja integrointimatkamme aikana löysimme useita uusia mahdollisuuksia, joita kehitimme tarjotaksemme parempia ominaisuuksia ja hyvän käyttökokemuksen loppukäyttäjillemme.
Referenssit
Lisäviittauksia saat seuraavista hyödyllisistä linkeistä tai tilaa esittely kanssamme nähdäksesi tämän toiminnassa
Ajoita esittely
Jupyter Notebookin osat
Latest: Mikä on kopiolaboratorion muistikirja?
Next: Miksi Jupyter on tietotieteilijöiden paras laskentamuistikirja