--- name: flussi-canvas description: "Vista compatta della catena ICR (Direzione Sistemi → parquet L2 → ponti Access legacy) — distillato da flussi-expert.md, non un sostituto: per il dettaglio dell'indagine (passo per passo, ipotesi/conferme) vedi quello." metadata: type: reference --- # Flussi La catena ICR da Direzione Sistemi fino ai parquet L2 e ai ponti Access legacy — ricostruita passo per passo leggendo codice e documentazione, non ancora collegata a stato live. Vista compatta per consultazione rapida: per il dettaglio completo dell'indagine (passo per passo, ipotesi non ancora confermate, gotcha) vedi [[flussi-expert]]. ## Direzione Sistemi Sistema aziendale Mediaset esterno alla pipeline ICR: posta i file grezzi in automatico dentro `INPUT/`. Cadenza mista — alcuni file settimanali, altri giornalieri. Include `osservatorio.txt`, l'unico senza prefisso `estr_`, formato posizionale senza header. Path: `I:\SOFTWARE\SCHEDULATORE\INPUT`. ## L1 → L2 · CsvToParquet - L1, CsvToParquet_layer1: CSV → parquet grezzo, solo dedup + type parsing, nessuna business logic. `weekly.py` produce tutti i parquet; `daily.py` solo gemma e osservatorio. - L2, Parquet_layer1ToParquet_layer2: trasformazioni di business + enrich, solo DuckDB. Probabile origine dei parquet letti in data-expert (ipotesi non riconciliata al 100%). Esempio: `diritti.parquet` L2 tiene solo Free+Analogico (+ Free+DVB-T non coperto) — il resto, incluso l'81% dei diritti totali (TVOD/IPTV/Pay), resta fuori. Path: `C:\PYTHON_LOCAL\CsvToParquet_layer1\` (nome storico DataHub v2) · `...\MyICR_Suite\local_db\parquet\`. ## sync_DEV_LOCAL.bat Ipotesi, non confermata. Ponte presunto tra il parquet L2 sulla rete Mediaset e `Dropbox/adrian/PYTHON/MyICR_Suite/local_db/parquet/` — quello letto da questa istanza. File gitignored ("solo su A, non deve andare su B/C"), mai verificato riga per riga: ipotesi molto probabile, non un fatto confermato. ## Ramo Weekly Parziale legacy. - `sqlite_mirror.py`: copia integrale tabelle L2 in SQLite per Access via ODBC (solo weekly), non un ponte verso MyICR_Suite. - `ParquetToAccessWeekly`: → `DB_WEEK.accdb`, 6 tabelle. Legge L1 (non L2), replica logica VBA storica (match 97–100% nei parallelo test). "Strato legacy temporaneo, finché i consumer Access non migrano a Parquet". ## Ramo Daily Parziale legacy. - `ParquetToAccessDaily`: → `DB_DAY.accdb`, enrichment giornaliero. Gira su wincoarcapp01, richiede MS Access installato. - `MonitorOsservatorioPy`: due canali indipendenti — (a) `enrich_osservatorio()` copia SCHEDA_PRODOTTO solo se >30.000 righe (soglia anti-corruzione); (b) osservatorio.txt grezzo copiato in parallelo, canale separato. ## Fuori da questa pipeline Spesso confusi con i parquet ICR, ma non generati da questa pipeline. - `linker.db`: storage proprio app Linker (PyQt6, erede VBA "MyICR"), migrato da Access a SQLite il 29/04/2026. - `mediatrack.db`: aggiornato dal job Frank "OMDB Batch Enrich" (lun–ven 13:30), sync pull-and-preserve ogni 5 min. - `ott.db`: mirror Excel settimanale Qlik/Marketing, sostituito interamente a ogni import.