Jupyter

Sist endret

November 25, 2024

Jupyter Service

Jupyter er en tjeneste på Dapla Lab som lar brukerne kode i Jupyterlab. Tjenesten kommer med R og Python og noen vanlige Jupyterlab-extensions ferdig installert. Målgruppen for tjenesten er brukere som skal skrive produksjonskode i Jupyterlab.

Siden tjenesten er ment for produksjonskode så er det veldig få R- og Python-pakker som er forhåndsinstallert. Antagelsen er at brukeren/teamet heller bør installere de pakkene de selv trenger, framfor at det ligger ferdiginstallerte pakker som skal dekke behovet til alle brukere/team i SSB. Det reduserer kompleksitet i tjenesten og dermed sannsynligheten for feilsituasjoner.

For uerfarne brukere finnes det en egen tjeneste som heter Jupyter-playground. Her er mange av de vanlige R- og Python-pakkene installert og det er opprettet en ferdig kernel som lar brukerne komme i gang fort med koding. Denne tjenesten er ikke tenkt for bruk i produksjonskode.

Forberedelser

Før man starter Jupyter-tjenesten bør man ha lest kapitlet om Dapla Lab og satt opp Git- og GitHub-konfigurasjonen under Min konto. Deretter gjør du følgende:

  1. Logg deg inn på Dapla Lab
  2. Under Tjenestekatalog trykker du på Start-knappen for Jupyter
  3. Gi tjenesten et navn
  4. Åpne Jupyter konfigurasjoner

Konfigurasjon

Før man åpner en tjeneste kan man konfigurere hvor mye ressurser man ønsker, hvilket team man skal representere, om et GitHub-repo skal klones ved oppstart, og mange andre ting. Valgene man gjør kan også lagres slik at man å slipper å gjøre samme jobb senere. Figur 1 viser Tjeneste-delen i konfigurasjonen for Jupyter hvor man kan velge hvilken versjon av Jupyter man vil bruke.

Viser tjenestekonfigurasjonen i Dapla Lab.
Figur 1: Jupyter-versjon i Dapla Lab

Data

Under Data-menyen kan man velge hvilket team og tilgangsgruppe man skal representere. Man gjør dette ved å velge navnet på tilgangsgruppen, og denne er alltid på formen <teamnavn>-<tilgangsgruppe>. Figur 2 viser at brukeren har valgt tilgangsgruppen dapla-felles-developers, dvs. at de representerer tilgangsgruppen developers for teamet dapla-felles.

Viser tjenestekonfigurasjonen i Dapla Lab.
Figur 2: Detaljert tjenestekonfigurasjon for bøttetilgang i Dapla Lab

Under Team og tilgangsgruppe kan brukeren også velge å representere tilgangsgruppen data-admins for et team. I de tilfellene er det et krav om brukeren oppgir en skriftlig begrunnelse for hvorfor tilgangen er nødvendig. I tillegg må kan de maksimalt aktivere tilgangen i 8 timer.

Figur 3 viser en bruker som aktiverer sin data-admins tilgang for team dapla-felles. Hvis brukeren ikke oppgir en begrunnelse vil de få en feilmelding ved oppstart av tjenesten.

Viser tjenestekonfigurasjonen i Dapla Lab.
Figur 3: Aktivere tilgang til kildedata for data-admins.

Git/GitHub

Under menyen Git/GitHub kan man konfigurere Git og GitHub slik at det blir lettere å jobbe med inne i tjenesten. Som standard arves informasjonen som er lagret under Min konto-Git i Dapla Lab. Informasjonen under tjenestekonfigurasjonen blir tilgjengeliggjort som miljøvariabler i tjenesten. Informasjonen blir også lagt i $HOME/.netrc slik at man kan benytte ikke trenger å gjøre noe mer for å jobbe mot GitHub fra tjenesten.

Viser Persitence-fanen i Jupyter-konfigurasjonen i Dapla Lab.
Figur 4: Konfigurasjon av Git og GitHub for Jupyter-tjenesten i Dapla Lab

Figur 4 viser at brukeren som standard får aktivert Aktiver Git. Dette innebærer at Git-brukernavn, Git e-post og GitHub-token arves fra brukerkonfigurasjonen. I tillegg så opprettes SSBs standard Git-konfigurasjon i ~/.gitconfig.

Python/R

Under menyen Python/R kan man velge hvilke versjon av R og Python man ønsker å kjøre. Man kan velge mellom alle tidligere tilbudte kombinasjoner av R og Python.

I Figur 5 ser vi av navnet r4.4.0-py311-v55-2024.10.31 at tjenesten som default vil startes versjon 4.4.0 av R og 3.11 for Python. Etterhvert som nye versjoner av R og Python kommer kan disse tilgjengeliggjøres i tjenesten, men brukeren kan velge å starte en eldre versjon av tjenesten.

Viser Python/R-menyen i Jupyter-konfigurasjonen i Dapla Lab.
Figur 5: Konfigurasjon av Git og GitHub for Jupyter-tjenesten i Dapla Lab

Ressurser

Under menyen Resources kan man velge hvor mye CPU og RAM man ønsker i tjenesten, slik som vist i Figur 6. Velg så lite som trengs for å gjøre jobben du skal gjøre.

Viser Resources-fanen i Jupyter-konfigurasjonen i Dapla Lab.
Figur 6: Konfigurasjon av ressurser for Jupyter-tjenesten i Dapla Lab

Diskplass

Som default får alle som starter en instans av Jupyter-tjenesten en lokal disk på 10GB inne i tjenesten. Under Diskplass-menyen kan man velge å øke størrelsen på disken eller ikke noe disk i det hele tatt. Siden lokal disk i tjenesten hovedsakelig skal benyttes til å lagre en lokal kopi av koden som lagres på GitHub mens man gjør endringer bør ikke størrelsen på disken være stor. Figur 7 viser valgene som kan gjøres under Diskplass-fanen.

Viser Persitence-fanen i Jupyter-konfigurasjonen i Dapla Lab.
Figur 7: Konfigurasjon av lokal disk for Jupyter-tjenesten i Dapla Lab

Datatilgang

Slik kan man inspisere dataene fra en terminal inne i tjenesten:

  1. Åpne en instans av Jupyter med data fra bøtter
  2. Åpne en terminal inne i Jupyter
  3. Gå til mappen med bøttene ved å kjøre dette fra terminalen cd /buckets
  4. Kjør ls -ahl i teminalen for å se på hvilke bøtter som er montert.

Installere pakker

Siden det nesten ikke er installert noen pakker i tjenesten så kan brukeren opprette et ssb-project og installere pakker som vanlig.

For å bygge et eksisterende ssb-project så kan brukeren også bruke ssb-project.

For å installere R-pakker følger man beskrivelsen for renv.

Slette tjenesten

For å slette tjenesten kan man trykke på Slette-knappen i Dapla Lab under Mine tjenester. Når man sletter en tjeneste så sletter man hele disken inne i tjenesten og frigjør alle ressurser som er reservert. Vi anbefaler at man avslutter heller pauser tjenester som ikke benyttes.

Pause tjenesten

Man kan pause tjenesten ved å trykke på Pause-knappen i Dapla Lab under Mine tjenester. Når man pauser så slettes alt påden lokale disken som ikke er lagret under $HOME/work. Vi anbefaler at man avslutter heller pauser tjenester som ikke benyttes.

Monitorering

Man kan moniterere en instans av Jupyter ved å trykke på Jupyter-teksten under Mine tjenester i Dapla Lab, slik som vist i Figur 8.

Denne funksjonaliteten er under arbeid og mer informasjon kommer snart.

Viser Persitence-fanen i Jupyter-konfigurasjonen i Dapla Lab.
Figur 8: Monitorering av Jupyter-tjenesten i Dapla Lab