Vai al contenuto principale

Snowflake e Streamlit: guida completa alla creazione di app dati

Una guida completa alla creazione, distribuzione e ottimizzazione di app Streamlit direttamente in Snowflake. Sfrutta il popolare framework Python open source grazie alla sua integrazione con una potente piattaforma cloud.
· 15 min leggi

Scopri con l'IA

Snowflake è una piattaforma dati cloud potente e molto diffusa, mentre Streamlit è un framework Python open source pensato per creare web app sui dati. Streamlit in Snowflake (SiS) è una soluzione integrata che ti permette di creare e distribuire app dati direttamente all’interno dell’ecosistema Snowflake. Invece di destreggiarti tra strumenti separati, puoi utilizzare Python e l’infrastruttura di Snowflake per creare rapidamente applicazioni interattive.

Questo tutorial ti guida in cosa sia Streamlit in Snowflake, le sue funzionalità chiave, i passaggi di configurazione, le strategie di deployment, sicurezza, consigli sulle prestazioni e casi d’uso reali. Alla fine, avrai una roadmap chiara per creare e lanciare la tua prima app dati. Assicurati di rivedere le fondamenta di Snowflake e la sua interfaccia. Ti consiglio anche di provare Streamlit in Python al di fuori di Snowflake per comprenderne meglio le funzionalità con questo tutorial su Streamlit.

Che cos’è Streamlit in Snowflake?

Streamlit in Snowflake rende possibile creare applicazioni interattive collegate direttamente ai tuoi dati in Snowflake senza lasciare la piattaforma.

Panoramica di Streamlit in Snowflake

Streamlit in Snowflake unisce la semplicità di Streamlit alla scalabilità di Snowflake. Tradizionalmente, creare app richiedeva server esterni, API e integrazioni complesse. Streamlit riduce la funzionalità core a poche API orientate agli oggetti e integrazioni Python. Il deployment viene poi demandato a Snowflake tramite Snowsight.

Questo elimina la necessità di infrastrutture aggiuntive e offre un ambiente unificato che si integra senza problemi con Snowpark, Cortex AI e i tuoi dati in Snowflake. Ciò significa che sviluppatori Python e team dati lavorano sulla stessa base senza l’overhead aggiuntivo di trasferire dati o codice.

Contesto storico

Nel 2022, Snowflake ha acquisito Streamlit per avvicinare lo sviluppo di app interattive ai dati enterprise. Mantiene la visione open source di Streamlit offrendo agli sviluppatori la possibilità di usare Python per creare splendide web app, integrandosi con una delle piattaforme dati più potenti oggi disponibili. Permette alle aziende di utilizzare Streamlit in modo flessibile con minori preoccupazioni sulla sicurezza e unifica lo sviluppo delle app.

Filosofia di base

La filosofia di SiS punta a mantenere lo stesso livello di sicurezza e governance che ti aspetteresti da Snowflake, offrendo al contempo la facilità d’uso di Streamlit per costruire web app sui dati. Poiché tutti i dati rimangono all’interno di Snowflake, hai le stesse garanzie di sicurezza e protezione previste.

Il principale vantaggio è l’attenzione a mantenere invariato il framework Python e a fornire un’esperienza simile su Snowflake a quella che avresti fuori da Snowflake. Questo rende SiS accessibile agli sviluppatori che hanno già lavorato con Streamlit in passato o a chi ha esperienza in Python e vuole sfruttare le competenze esistenti per creare web app sui dati in Snowflake.

Funzionalità e capacità principali di Streamlit in Snowflake

Streamlit in Snowflake mantiene le principali caratteristiche cloud di Snowflake, come il servizio completamente gestito e la collaborazione semplice. Include anche la funzionalità di Streamlit per visualizzazioni e iterazione rapida, integrata con l’infrastruttura.

Servizio completamente gestito

Snowflake gestisce tutta l’infrastruttura dietro le quinte, quindi non devi preoccuparti di server, scalabilità o stabilità. Le applicazioni offrono interattività in tempo reale, scalano automaticamente in base all’uso e beneficiano dell’affidabilità nativa di Snowflake.

Integrazione con l’infrastruttura Snowflake

Le app Streamlit all’interno di Snowflake si connettono nativamente con Snowpark, Cortex AI e i database. Per esempio, puoi integrare Cortex AI Analyst nella tua app Streamlit, consentendo agli utenti di porre domande in linguaggio naturale sui dati e ottenere risposte direttamente nel dashboard.

Altre funzionalità di Snowflake, come la cache integrata, riducono al minimo le query ridondanti, mentre miglioramenti dell’interfaccia, come la modalità scura e i componenti personalizzati, migliorano l’esperienza utente. Autenticazione e connessioni sicure sono gestite automaticamente tramite i protocolli di autenticazione di Snowflake. La sensibilità dei dati può essere gestita tramite i controlli basati sui ruoli di Snowflake.

Questo semplifica la gestione dei dati e consente agli sviluppatori di concentrarsi sulla costruzione degli strumenti.

Visualizzazioni interattive e iterazione rapida

Uno dei maggiori punti di forza di Streamlit è la capacità di trasformare un semplice script Python in un’app interattiva in pochi minuti. In Snowflake, puoi visualizzare l’anteprima e iterare sulle app direttamente, aggiornando il codice e vedendo i risultati in tempo reale senza attendere lunghi deployment.

Condivisione e collaborazione

Le app Streamlit possono essere condivise direttamente con gli utenti all’interno di Snowflake. È semplice condividere l’app con diversi team utilizzando ruoli o singoli membri. La collaborazione è integrata nel flusso di lavoro, permettendo a più membri del team di lavorare, testare e distribuire le app insieme. 

Primi passi con Streamlit in Snowflake

Iniziare con SiS è semplice e puoi creare la tua prima app in pochi minuti. Dobbiamo solo assicurarci che tu abbia le autorizzazioni e le conoscenze giuste.

Prerequisiti

Per costruire un’app Streamlit in Snowflake, ti serve un account Snowflake attivo con accesso a Snowsight, l’interfaccia web. Questa introduzione a Snowflake può mostrarti come navigare in Snowsight. Dovresti avere conoscenze di base di Python. Potrebbe valere la pena ripassare con questo corso introduttivo su Python per rinfrescare le nozioni.

Una volta che hai accesso a Snowflake, assicurati di avere le seguenti autorizzazioni:

  • Autorizzazioni database: USAGE
  • Autorizzazioni schema: USAGE, CREATE STREAMLIT, CREATE STAGE

Configurazione dell’account e dell’ambiente

Inizia accedendo a Snowsight e scegliendo o creando un database e uno schema in cui vivrà la tua app. Vai su My Workspace e apri un nuovo file SQL. Creiamo un ruolo chiamato streamlit_creator che avrà accesso al nostro streamlit_schema sul nostro streamlit_database. Inoltre, creeremo un warehouse chiamato streamlit_wh che sarà la principale fonte di calcolo per la nostra app Streamlit.

CREATE ROLE streamlit_creator;
CREATE DATABASE streamlit_db;
USE DATABASE streamlit_db;
CREATE SCHEMA streamlit_schema;
CREATE WAREHOUSE streamlit_wh WITH WAREHOUSE_SIZE = ‘XSMALL’;
GRANT USAGE ON SCHEMA streamlit_db.streamlit_schema TO ROLE streamlit_creator;
GRANT USAGE ON DATABASE streamlit_db TO ROLE streamlit_creator;
GRANT USAGE ON WAREHOUSE streamlit_wh TO ROLE streamlit_creator;
GRANT CREATE STREAMLIT ON SCHEMA streamlit_db.streamlit_schema TO ROLE streamlit_creator;
GRANT CREATE STAGE ON SCHEMA streamlit_db.streamlit_schema TO ROLE streamlit_creator;

Costruire la tua prima app Streamlit

Per rendere tutto concreto, vediamo una semplice app. Una volta configurati account Snowflake e autorizzazioni, in Snowsight vai su PROJECTS >> Streamlit. In questa finestra clicca su + Streamlit App in alto a destra. 

Inserisci un nome per l’app a tua scelta. Imposta la posizione dell’app in modo da usare STREAMLIT_DB e STREAMLIT_SCHEMA. Poi scegli “Run on warehouse” e seleziona “STREAMLIT_WH” come App Warehouse.

Si apre l’editor, che include di default un piccolo script. Esegue anche automaticamente l’app e ti mostra un’anteprima.

Proviamo ad aggiungere un po’ di dati di nostro interesse all’app. Inserisci questo piccolo snippet in fondo al codice esistente:

	from snowflake.snowpark.functions import sum as sf_sum
	st.title("Simple Sales Dashboard")
	st.write("This app displays sales by part using Snowflake data.")

	# Query sample dataset
	df = (
	    session.table("SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.LINEITEM")
	    .group_by("L_PARTKEY")
	    .agg(sf_sum("L_QUANTITY").alias("TOTAL_SALES"))
	    .limit(10)
	    .order_by("TOTAL_SALES", ascending=False)
	    .to_pandas()
	)

	# Plot chart
	st.bar_chart(data=df, x="L_PARTKEY", y="TOTAL_SALES")

	# Show table
	st.dataframe(df)

	

Poi premi il pulsante “Run” in alto a destra. L’anteprima in questa app si aggiornerà ed elaborerà i dati forniti dalla tabella di esempio. Dovrebbe mostrare sia una tabella di dati sia un grafico a barre. Da qui puoi personalizzare le query, aggiungere filtri o migliorare la UI con i widget di Streamlit.

Qui noterai l’uso di Snowpark. Se non lo hai mai usato, Snowpark è la libreria di Snowflake che ti permette di elaborare dati di Snowflake utilizzando linguaggi di programmazione come Python. Ti consiglio vivamente questa introduzione a Snowpark perché il recupero dei dati in Streamlit richiede spesso l’uso di Snowpark per interfacciarti con i tuoi database Snowflake.

Strategie e metodi di deployment

Ci sono diversi modi per distribuire Streamlit in Snowflake. Il più semplice è usare Snowsight, l’interfaccia web, ma puoi anche utilizzare strumenti da riga di comando (CLI). Inoltre, puoi aggiungere strumenti di workflow per aiutare con l’organizzazione del progetto e la scalabilità del deployment.

Deployment con Snowsight

Come mostrato nella sezione precedente, il metodo più semplice è tramite Snowsight, l’interfaccia web di Snowflake. Il vantaggio aggiuntivo è la vista a schermo diviso per modificare e visualizzare in anteprima l’app in tempo reale. Questa configurazione è ideale per gli sviluppatori che vogliono un feedback immediato durante lo sviluppo.

Deployment via CLI

Per scenari più avanzati, gli strumenti CLI ti permettono di distribuire le app in modo programmatico. È particolarmente utile quando si integra il deployment nelle pipeline di continuous integration e continuous delivery (CI/CD). Seguendo un approccio più strutturato, le app possono essere archiviate in cartelle di progetto come file .py proprio come le normali app Streamlit, insieme a file .yml che controllano ambiente e comandi Snowflake. Ciò significa che possiamo usare GitHub per tracciare le modifiche, eseguire verifiche automatiche e distribuire senza intoppi.

Integrazione con dbt e strumenti di workflow

Un’altra opzione è combinare le app Streamlit con strumenti di workflow come dbt (data build tool), che Snowflake supporta nativamente. Per esempio, dbt può gestire il tuo workflow ETL principale che confluisce nella tua app Streamlit. All’interno dello stesso progetto dbt, puoi ridistribuire automaticamente Streamlit secondo necessità per adattarlo al tuo workflow dbt. Questo ti permette di organizzare in modo ordinato workflow dati complessi nei progetti e di scalare il deployment insieme al flusso di lavoro. 

Architettura e implementazione tecnica

Vediamo come funziona effettivamente Streamlit in Snowflake.

Architettura tecnica

Le app Streamlit in Snowflake vengono eseguite in un ambiente sicuro basato su container, completamente gestito da Snowflake. Questo design garantisce che le applicazioni rimangano isolate mantenendo al contempo una connessione sicura alle origini dati e ai servizi di Snowflake. Man mano che aumenta la complessità dell’app o crescono le dimensioni dei database, Snowflake gestisce lo scaling nel backend.

Gestione dei warehouse

Quando avvii un’app, questa utilizza risorse di calcolo dal warehouse configurato. Proprio come per le query SQL, la dimensione del warehouse influisce su prestazioni e costi, quindi la pianificazione delle risorse è importante. Gli sviluppatori trovano utile avere un warehouse dedicato alle proprie app Streamlit per semplificare il monitoraggio. Inoltre, Snowflake usa stage interni per l’archiviazione sicura dei file, prevenendo la fuoriuscita di dati dalla piattaforma. Questo semplifica l’alimentazione dei dati nella tua app mantenendo la sicurezza dei dati.

Pacchetti Python e ambiente

Gli ambienti Python in SiS sono gestiti e curati per la sicurezza. Sono disponibili solo pacchetti approvati e l’installazione di pacchetti esterni è limitata. Inoltre, per motivi di sicurezza alcuni elementi come script, stili, font e l’incorporamento di iframe sono soggetti a restrizioni. Se hai bisogno di funzionalità non incluse, potresti doverle implementare tramite UDF Snowpark o affidarti alle librerie Python già supportate da Snowflake.

Modello di sicurezza e permessi

Fortunatamente, SiS utilizza gran parte dell’infrastruttura di sicurezza esistente di Snowflake, come il controllo degli accessi basato sui ruoli, la condivisione e la sicurezza di rete.

Controllo degli accessi basato sui ruoli (RBAC)

Snowflake utilizza un sistema RBAC per le app Streamlit e i relativi dati. Per accedere ai dati è necessario il privilegio USAGE per qualsiasi app Streamlit e per i dati sottostanti. Solo i ruoli con privilegi CREATE STREAMLIT possono creare app, e la proprietà delle app è vincolata ai permessi a livello di schema. Questo garantisce un controllo chiaro su chi può sviluppare e gestire le applicazioni.

Condivisione e controllo degli accessi

La condivisione delle app è altrettanto controllata. Puoi concedere o limitare l’accesso alle app in base ai ruoli utente. Per l’esecuzione SQL, si seguono gli stessi permessi basati sui ruoli. Le query SQL vengono eseguite tramite l’app Streamlit e non consentono agli sviluppatori di eseguire query sui database senza le autorizzazioni adeguate.

Sicurezza di rete e dei contenuti

Sul fronte rete, Snowflake applica rigorose Content Security Policy (CSP). Queste impediscono alle app di caricare script, stili o risorse esterni non autorizzati, riducendo il rischio di esfiltrazione dei dati o integrazioni non sicure. Limitando al minimo le librerie esterne importate nell’ambiente, si riduce il rischio di falle di sicurezza e si proteggono la privacy dei dati e degli utenti.

Ottimizzazione delle prestazioni di Snowflake Streamlit

Con l’aumentare della complessità dell’app, un’adeguata ottimizzazione è importante per mantenere la corretta funzionalità.

Ottimizzazione delle query e caching

Creare app efficienti richiede attenzione sia alle query sia alle risorse di calcolo. Aiuta testare le query al di fuori della tua app Streamlit (su un warehouse simile) per capire lo sforzo computazionale richiesto. Scrivere query SQL ottimizzate è essenziale per evitare colli di bottiglia. 

Le funzioni di caching integrate di Streamlit st.cache_data e st.cache_resource aiutano a ridurre ricalcoli e ricaricamenti dei dati. Tuttavia, una nota: st.cache_data e st.cache_resource non sono pienamente supportate. Consentono solo il caching basato sulla sessione, il che significa che ogni volta che l’utente apre una nuova sessione, la query e i dati dovranno essere ricaricati. Tienilo a mente e assicurati di ottimizzare al massimo le tue query.

Scelta e configurazione del warehouse

La scelta del warehouse influisce molto sulla reattività dell’app. Warehouse più grandi aumentano la velocità ma anche i costi. Per app ad alto traffico, i warehouse dedicati potrebbero essere l’opzione migliore. D’altra parte, app leggere possono spesso funzionare su warehouse più piccoli senza problemi di prestazioni.

Architettura dell’applicazione

Anche l’architettura dell’app conta. Il caricamento progressivo dei dati e la gestione dello stato possono rendere le app più reattive, soprattutto con dataset di grandi dimensioni. Cerca di non caricare l’intera app in una volta se ci sono più componenti. Carica solo ciò che serve all’utente in quel momento. Progettare le app tenendo presenti i vincoli di risorse evita problemi come il superamento dei limiti di dimensione dei messaggi o di memoria.

Casi d’uso ed esempi di applicazioni di Streamlit in Snowflake

Oltre a semplici dashboard e app dati, Streamlit in Snowflake può sfruttare strumenti potenti per machine learning, AI, business intelligence e NLP. Vediamo alcuni casi d’uso.

Business intelligence e visualizzazioni dati

Per i team di analytics, Streamlit in Snowflake è un modo per costruire dashboard interattivi e strumenti di reportistica. La connessione ai tuoi database Snowflake consente aggiornamenti in tempo reale dei dashboard per decisioni migliori. Puoi distribuire rapidamente app simili orientate a diversi reparti e team. Esempi includono tracker dell’inventario, dashboard dell’uso del compute o riepiloghi delle performance per i dirigenti. Per esempio, possiamo sviluppare analytics per call center con l’integrazione di Snowflake Cortex e Snowpark nell’app Streamlit prendendo le trascrizioni delle chiamate e generando analytics sulle chiamate.

Machine learning e AI

Per sfruttare davvero i tuoi dati, le app Streamlit possono essere progettate per insight di machine learning e AI. Ad esempio, i team di machine learning possono distribuire app interattive che servono modelli per la previsione della domanda, la segmentazione dei clienti o il rilevamento di anomalie. Con Cortex AI, gli sviluppatori possono anche creare app RAG (retrieval augmented generation) o strumenti di AI conversazionale. Un’ottima implementazione aggiunge modelli PyTorch che offrono upsell mirati ai clienti in base ai loro profili individuali, il tutto racchiuso in un’app di inferenza visuale.

NLP e analytics avanzati

Per ottenere insight da feedback testuali come chat ed email, l’elaborazione del linguaggio naturale è la strada giusta. Usando librerie come spaCy, NLTK o il text processing di Cortex AI interno a Snowflake, possiamo prendere tutte queste informazioni testuali e costruire strumenti per sentiment analysis, riconoscimento di entità e altre soluzioni NLP. Per esempio, possiamo usare Snowflake Cortex per gestire gran parte dell’analisi NLP, come riassunti e sentiment analysis. Questo alimenta poi un database che fornisce analytics su recensioni e chat di supporto usando Streamlit in Snowflake.

Raccolta dati e applicazioni di input

Le app Streamlit funzionano bene anche per la raccolta dati e la gestione della qualità, come strumenti di annotazione o interfacce collaborative di input. Sebbene i caricamenti dei dati siano limitati a 200 MB, possiamo offrire uno spazio in cui gli utenti possano caricare piccoli dataset o documenti per l’elaborazione o il riassunto nella nostra app. Le possibilità sono infinite!

Integrazione con l’ecosistema Snowflake

Avere Streamlit in Snowflake è potente grazie alle numerose integrazioni disponibili nell’ecosistema, come Snowpark e la condivisione dei dati.

Integrazione con Snowpark

Snowpark rende semplicissima l’analisi in Python con Snowflake. Consente elaborazioni dati avanzate, calcoli distribuiti e funzioni personalizzate. Poiché possiamo usare i dataframe di Snowpark in modo nativo nella nostra app Streamlit in Snowflake, possiamo sfruttarli facilmente con pochissimo overhead. Usare elementi come stored procedure e UDF nel tuo ambiente Snowflake diventa semplicissimo con l’oggetto udf di Snowpark. 

Condivisione dei dati e automazione

Condividere dati in Snowflake è semplice e, con la UI di Snowsight, bastano pochi clic. Aggiungendo Snowflake Tasks e funzionalità event-driven, gli sviluppatori possono automatizzare facilmente i workflow. Per esempio, puoi attivare aggiornamenti dell’app all’arrivo di nuovi dati, eseguire controlli per assicurarti che non si rompa nulla e mantenere freschi i dati.

Combinando il tutto con dbt, puoi creare workflow end-to-end in cui le trasformazioni dati confluiscono direttamente nelle app Streamlit, garantendo aggiornamenti in tempo reale per gli utenti.

Fatturazione e considerazioni sui costi

Come per tutte le piattaforme cloud, fatturazione e costi sono importanti. Un’app Streamlit costosa è meno probabile che venga usata, quindi pensare ai costi in anticipo garantisce uno sviluppo più fluido.

Comprendere i costi di Streamlit in Snowflake

I costi per Streamlit in Snowflake sono analoghi a qualsiasi altro processo in Snowflake. Se hai un database/schema specifico per Streamlit, avrai i normali costi di storage associati a quei dati. Come detto prima, probabilmente vorrai creare un warehouse specificamente allocato ai tuoi servizi Streamlit in Snowflake per tracciare anche i costi di calcolo. Dimensioni del warehouse maggiori, concorrenza dell’app (più sessioni utente) e volume dei dati saranno i principali driver dei costi.

Ottimizzare l’uso delle risorse

Per controllare la spesa, è importante dimensionare correttamente i warehouse. App piccole con carichi leggeri dovrebbero evitare warehouse inutilmente grandi. Il caching di Streamlit aiuta a minimizzare le query ripetute all’interno delle sessioni, riducendo l’uso di compute. Snowflake fornisce anche strumenti di monitoraggio che tracciano i consumi, così puoi apportare aggiustamenti sui costi basati sui dati.

Limitazioni e considerazioni

Pur essendo potente, Streamlit in Snowflake presenta alcune restrizioni da considerare, in particolare riguardo ai pacchetti esterni e ai caricamenti di file.

Restrizioni della Content Security Policy (CSP)

La piattaforma applica rigide policy di sicurezza dei contenuti per garantire la sicurezza dei dati. Elementi come script personalizzati, stili e risorse che richiedono un dominio esterno è più probabile che vengano bloccati. Assicurati che i componenti usati non richiedano chiamate esterne. Questo migliora notevolmente la sicurezza della tua app, ma limita parte della personalizzazione a cui potresti essere abituato se provieni da implementazioni Streamlit autonome.

Limitazioni sul trasferimento dati e sul caching

Gestire dataset di grandi dimensioni può essere una sfida a causa di alcune limitazioni nel caching e nel trasferimento dei messaggi. La limitazione chiave del caching è che è basato sulla sessione e non sull’utente. Quindi, gli utenti che rivisitano le app e avviano nuove sessioni dovranno ricaricare i dati. Valuta con attenzione i tuoi utenti e se dovranno avviare nuove sessioni più volte. In tal caso, pensa a come minimizzare il carico di dati tra le sessioni.

Sebbene non ci sia un limite esplicito alla dimensione delle query o alla quantità di dati in memoria, i messaggi hanno un limite di 32 MB. Ciò significa che la visualizzazione di dataframe di grandi dimensioni e mappe estremamente complesse può rappresentare un vincolo. Valuta cosa è essenziale mostrare agli utenti e cosa può essere snellito.

Restrizioni sul caricamento dei file e sugli storage esterni

Il caricamento dei file funziona, ma è limitato a 200 MB. Inoltre, non potrai lavorare direttamente con stage esterni e dovrai prima spostare i dati in Snowflake. Quindi non sarà possibile prelevare direttamente da Apache Iceberg, ma potrai attingere a un data lake interno per quei dati.

Inoltre, la funzionalità di upload dei file è limitata in dimensione e gli stage esterni al momento non sono supportati, limitando il modo in cui le app gestiscono i file.

Conclusione

Streamlit in Snowflake offre un modo potente e integrato per creare e distribuire app dati interattive senza lasciare il tuo ambiente Snowflake. Combina sicurezza, scalabilità e facilità d’uso, supportando integrazioni avanzate con Snowpark, Cortex AI e dbt.

Sebbene ci siano limitazioni, come restrizioni su risorse esterne e caricamenti di file, i vantaggi di iterazione rapida, infrastruttura gestita e condivisione senza attriti rendono SiS una piattaforma trasformativa per i team dati. Chi è alle prime armi può partire in piccolo — sperimentando con semplici dashboard — e scalare fino ad applicazioni di AI e analytics pronte per l’enterprise. Per maggiori informazioni su Snowflake, dai un’occhiata a quanto segue:

Domande frequenti su Snowflake Streamlit

Che cos’è Snowflake Streamlit e in cosa è diverso da Streamlit tradizionale?

Snowflake Streamlit è una versione completamente gestita di Streamlit che gira nativamente all’interno di Snowflake, eliminando la necessità di server o infrastrutture separati. Lo Streamlit “tradizionale” richiede di eseguirlo/ospitarlo in autonomia.

Quanta conoscenza di Python serve per iniziare?

Bastano conoscenze di base di Python. Se sai scrivere funzioni, importare librerie e capire i dataframe (ad es. con Pandas), puoi creare rapidamente semplici app.

Quali sono le principali differenze tra il deployment via Snowsight e via CLI?

Snowsight è visivo e adatto ai principianti, ideale per il prototyping. La CLI è migliore per automazione, controllo di versione e pipeline CI/CD.

Eseguire app Streamlit in Snowflake incide sul consumo di crediti?

Sì. Poiché le app Streamlit interrogano i dati da Snowflake, la loro esecuzione consuma crediti di calcolo, in modo simile alle query. Ottimizzare le query aiuta a gestire i costi.

È possibile integrare le app Snowflake Streamlit con GitHub o CI/CD?

Sì. Usando la CLI di Snowflake, puoi integrare il deployment delle app nelle pipeline CI/CD (ad es. GitHub Actions), facilitando l’automazione degli aggiornamenti quando cambia il codice.

Tim Lu

Autore

Tim Lu

Sono una data scientist con esperienza in analisi spaziale, machine learning e pipeline dei dati. Ho lavorato con GCP, Hadoop, Hive, Snowflake, Airflow e altri processi di data science/engineering.

Argomenti

Correlato