Oppsett av VDI for dataanalyse
Som standard har en VDI begrenset med programvare egnet for dataanalyse. I skyen anbefaler vi ofte at folk bruker Google Colab eller andre tjenester for kjøring av Jupyter Notebooks. For å slippe å forholde seg til mange ulike verktøy anbefaler vi også kjøring av notebooks på din VDI. Det kan gjøres gjennom programvaren Miniconda, som er en mindre og lettere versjon av Anaconda. Miniconda gjør det enklere å jobbe med analyse av data i python.
Installere Miniconda
Siste versjon av Miniconda for Windows (64-bit) kan lastes ned fra https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links
Miniconda er godkjent for bruk i VDI, noe som gjør at den kan installeres og kjøres som din egen bruker. Det forutsetter dog at du installerer programmet i mappen installasjonen foreslår som standard.
Følg disse stegene for å installere Miniconda:
- Kjør installasjonsfilen
Miniconda3-latest-Windows-x86_64.exe
- På siden "Select Installation Type", velg å installere programmet for
Just me (recommended)
- På siden "Choose Install Location", fortsett med standardvalget
C:\Users\<din bruker>\Miniconda3
- På resten av sidene kan du også fortsette med standardvalget
Deretter kan du starte programmet Anaconda Powershell Prompt (Miniconda3)
fra startmenyen. Hvis du ikke finner det i listen over nylig installert programvare, vil det ligge i mappen Anaconda 3 (64-bit)
.
Når kommandolinjen er klar, er du klar til å benytte Miniconda. Kjør så denne kommandoen for å oppdatere til de siste pakkene conda har å by på:
conda update -n base -c defaults conda
Installere JupyterLab
Etter du har laget et nytt miljø og aktivert det kan du installere JupyterLab. Deretter kan du bruke notebooks ved å kjøre følgende kommando.
conda install jupyterlab
Når pakken er installert kan JupyterLab startes med å skrive følgende kommandoer. Dette tar deg til din brukers hjemmemappe og starter JupyterLab sånn at notebooks du lager havner i hjemmemappa.
cd ~
jupyter lab
Deretter kan man jobbe med notebooks rett i nettleseren.
Lage en notebook
Du kan du klikke på Python 3 (ipykernel)
, under feltet notebooks, for å lage en notebook du kan jobbe med analysen i.
Installere pakker
For å installere python-pakker du ønsker å dra nytte av i din analyse kan du stort sett kjøre conda install <pakke>
. I de tilfeller der pakkene ikke ligger i de vanlige pakkebrønnene conda leter i, kan du gjøre et søk i Anaconda sitt pakkesøk for å finne ut hvordan du kan installere pakken.
Tilkobling til database fra notebook
Når man har conda kan man installere Oracles open source driver, som gjør det enkelt å koble til databaser fra en notebook. Dette kan du gjøre med følgende kommando
conda install -c conda-forge oracledb
Da kan spørringer gjøres fra en notebook med følgende python-kode. Lagre passordet ditt i minnet i notebooken:
import getpass
password = getpass.getpass("Ditt databasepassord:")
Kjør deretter spørringer mot databasen med oracledb-pakken:
import oracledb
connection = oracledb.connect(user="<din bruker>",
password=password,
dsn="<hostnavn>.vegvesen.no:<port>/<databasenavn>.vegvesen.no")
sql = """
select * from <din bruker>.<din tabell>
"""
with connection.cursor() as cursor:
for result in cursor.execute(sql):
print(result)
Ved hjelp av pakken pandas
kan det se slik ut. Da vil du få resultatet direkte i en dataframe du kan jobbe videre med.
import pandas as pd
dataframe = pd.read_sql(sql, connection)
dataframe
Lese filer og data fra nettverksdisk
JupyterLab kan også lese filer fra dine delte disker. Hvis du har behov for å lese eller skrive filer i en mappe du har tilgang til på en delt nettverksdisk, må du på Windows passe på å bruke en "raw string literal", i form av en r
foran filstien. Dette gjør at omvendte skråstreker som Windows bruker i filstier ikke tolkes feil.
Med pandas kan lesing fra en csv-fil på en delt disk se slik ut
import pandas as pd
pd.read_csv(r"<disk>:\Delt\Mappe\csv-fil.csv")
Filstrukturen som dukker opp til venstre i nettleservinduet kan bare vise filer fra disken du står i når du kjører kommandoen jupyter lab
. Om du trenger å se filer fra den delte disken i filstrukturen må du starte jupyter lab
fra en kommandolinje der du har navigert til mappen som har filene med kommandoen cd <mappe>
.
Lukking av JupyterLab
Når du er ferdig å bruke JupyterLab kan den lukkes med menyvalget File -> Shut down
.
Tips: Lage miljøer i conda
Conda anbefaler bruk av "miljøer" for forskjellige analyser en jobber med for å samle pakker og deres avhengigheter. Slik kan relaterte pakker for en analyse oppdateres sammen uten å påvirke analyser gjort i andre miljøer. Ved bruk av miljøer kan også forskjellige versjoner av samme pakke være installert på samme tid, så lenge de er installert i forskjellige miljøer. En kan også velge å bruke andre versjoner av python per miljø, om noen pakker man bruker krever spesielle versjoner av python.
Lag et nytt miljø med python 3.9 med følgende kommando:
conda create -n <navn på ditt miljø> python=3.9
Aktiver miljøet:
conda activate <navn på ditt miljø>
Feilsøking
Noen pakker er "blokkert for gruppepolicy"
Ta gjerne kontakt med oss om du opplever at pakker du forsøker å installere feiler med følgende melding:
Dette programmet er blokkert for gruppepolicy. Kontakt systemansvarlig for mer informasjon.
Om dette gjelder pakker du tenker mange analytikere kan være interessert i å bruke kan det være de kan unntas for denne policien slik at de også blir tilgjengelig for andre.