knowit / Dataplattform

3 stars 3 forks source link

Steg 2: Endre ingestor som henter data fra Kompetansekartleggingen #504

Open HeleneSemmerud opened 2 years ago

HeleneSemmerud commented 2 years ago

(WIP) Alle ingestorer i Dataplattform følger dette pattern: https://github.com/knowit/Dataplattform-issues/wiki/Dataplattform%3A-Tjenester-og-sammenhenger Hvor det er skrevet decorator-klasser for å ta seg av de meste som er felles, altså skriving til fil og legging på sqs kø osv. Disse to decoratorene er ingest.py og process.py fra følgende mappe:

https://github.com/knowit/Dataplattform/tree/develop/packages/common/dataplattform/common/handlers

Målet med denne tasken er å splitte opp innlastningen av data fra kompetansekartleggingen i 2, for å skille ut personspesifikke svar i vårt nye level-4 fra Steg 1: knowit/Dataplattform#508

I dag henter vi alle individuelle svar, som json dump i /raw og strukturert som parquet filer i structured, med fullt navn og annet personalia fra komperansekartleggingen og legger disse under access_level /level-3. access_level spesifiseres i serverless.yml som vist under: For GDPR hensyn så lagres disse dataene kun i en uke, s.a vi ikke lagrer data om folk som har sluttet ved en feil.

En foreslått løsning er som følger:

  1. Aggregerte data, ev. anonymiserte data kan legges på level-3 og kan være historiske tabeller hvor man appender på nye data hver uke.
  2. Personspesifikke svar kan legges på level-4, og i første omgang kan det følge samme mønster som før, at vi kun lagrer svarene fra kompetansekartleggingen i en uke, og så overskriver.

Notater: Access-level settes her: https://github.com/knowit/Dataplattform/blob/develop/services/ingestion/kompetanseKartlegging/serverless.yml under følgende kodeblokk.

custom:
  editable:
    timeout: 200
    srcDir: lib/kompetansekartlegging
    ingestHandlerFile: kompetansekartlegging_ingest_lambda
    processHandlerFile: kompetansekartlegging_process_lambda
    databaseName: level_3
    description: data from kompetansekartlegging-API
    scheduleRate: rate(7 days)
    accessLevel: level-3
    dataFolder: kompetansekartlegging

Det må nok også gjøres endringer i denne blokken i samme fil.

  dependencies:
    - ../../infrastructure/deploymentBucket
    - ../../infrastructure/datalake
    - ../../infrastructure/events
    - ../../infrastructure/monitoring
    - ../../infrastructure/glue
  glue:
    tableName: kompetansekartlegging
    accessLevel: 3

Følgende er forslag til refaktorering som kan gjøres stegvis, og hvor vi gjerne bør tilstrebe push helt til master (prod) mellom hver gang.

Notater: Access-level settes her: https://github.com/knowit/Dataplattform/blob/develop/services/ingestion/kompetanseKartlegging/serverless.yml under følgende kodeblokk.

custom:
  editable:
    timeout: 200
    srcDir: lib/kompetansekartlegging
    ingestHandlerFile: kompetansekartlegging_ingest_lambda
    processHandlerFile: kompetansekartlegging_process_lambda
    databaseName: level_3
    description: data from kompetansekartlegging-API
    scheduleRate: rate(7 days)
    accessLevel: level-3
    dataFolder: kompetansekartlegging

Det må nok også gjøres endringer i denne blokken i samme fil.

  dependencies:
    - ../../infrastructure/deploymentBucket
    - ../../infrastructure/datalake
    - ../../infrastructure/events
    - ../../infrastructure/monitoring
    - ../../infrastructure/glue
  glue:
    tableName: kompetansekartlegging
    accessLevel: 3
janhenrik commented 2 years ago

Fra dagens tavlesesjon.

IMG_3902 IMG_3901