Ga naar hoofdinhoud

Snowflake en Streamlit: een complete gids voor het bouwen van data-apps

Een uitgebreide stap-voor-stap handleiding voor het bouwen, deployen en optimaliseren van Streamlit-apps rechtstreeks binnen Snowflake. Maak gebruik van het populaire open-source Python-framework via de integratie met een krachtig cloudplatform.
· 15 min lezen

Verken met AI

Snowflake is een populair en krachtig cloudgebaseerd dataplatform, en Streamlit is een open-source Python-framework voor het bouwen van datawebapps. Streamlit in Snowflake (SiS) is een geïntegreerde oplossing waarmee je data-apps direct binnen het Snowflake-ecosysteem kunt bouwen en deployen. In plaats van te jongleren met losse tools, gebruik je Python en de infrastructuur van Snowflake om snel interactieve applicaties te maken.

In deze tutorial leer je wat Streamlit in Snowflake is, de belangrijkste features, de set-upstappen, deploystrategieën, security, performancetips en praktijkvoorbeelden. Aan het eind heb je een helder stappenplan om je eerste data-app te bouwen en te lanceren. Neem zeker even de Snowflake foundations en de interface door. Ik raad ook aan om Streamlit eerst buiten Snowflake in Python te proberen om de functionaliteit beter te begrijpen via deze Streamlit-tutorial.

Wat is Streamlit in Snowflake?

Streamlit in Snowflake maakt het mogelijk om interactieve applicaties te bouwen die direct zijn verbonden met je Snowflake-data, zonder het platform te verlaten.

Overzicht van Streamlit in Snowflake

Streamlit in Snowflake combineert de eenvoud van Streamlit met de schaalbaarheid van Snowflake. Traditioneel vereiste het bouwen van apps externe servers, API’s en complexe integraties. Streamlit brengt de kernfunctionaliteit terug tot een paar objectgeoriënteerde API’s en Python-integraties. De deployment wordt vervolgens uitbesteed aan Snowflake via Snowsight.

Dit elimineert extra infrastructuur en biedt een uniforme omgeving die naadloos integreert met Snowpark, Cortex AI en je Snowflake-data. Zo werken Python-developers en datateams vanuit dezelfde bron, zonder extra overhead voor het verplaatsen van data of code.

Historische context

In 2022 nam Snowflake Streamlit over om interactieve appontwikkeling dichter bij enterprise-data te brengen. Het behoudt de open-sourcevisie van Streamlit: developers met Python mooie webapps laten bouwen, terwijl het integreert met een van de krachtigste dataplatforms van dit moment. Het stelt bedrijven in staat Streamlit flexibel te gebruiken met minder securityzorgen en het unificeert de appontwikkeling.

Kernfilosofie

De filosofie van SiS draait om het behouden van hetzelfde niveau van security en governance dat je van Snowflake mag verwachten, terwijl je de eenvoud van Streamlit krijgt om datawebapps te bouwen. Omdat alle data binnen Snowflake blijft, heb je dezelfde security- en veiligheidswaarborgen als gebruikelijk.

Het grote voordeel is dat het Python-framework hetzelfde blijft en een vergelijkbare ervaring biedt op Snowflake als daarbuiten. Dat maakt SiS toegankelijk voor developers die eerder met Streamlit hebben gewerkt, en voor iedereen met Python-ervaring die hun bestaande skills willen inzetten om webapps te bouwen voor Snowflake-data.

Belangrijkste features en mogelijkheden van Streamlit in Snowflake

Streamlit in Snowflake behoudt de belangrijkste cloudfeatures van Snowflake, zoals volledig beheerd en eenvoudig samenwerken. Het biedt ook de visualisatie- en snelle-iteratiemogelijkheden van Streamlit, geïntegreerd met de infrastructuur.

Volledig beheerde service

Snowflake beheert alle infrastructuur achter de schermen, waardoor je je nooit zorgen hoeft te maken over servers, schalen of stabiliteit. Applicaties draaien met realtime interactiviteit, schalen automatisch op basis van gebruik en profiteren van de ingebouwde betrouwbaarheid van Snowflake.

Integratie met de Snowflake-infrastructuur

Streamlit-apps binnen Snowflake verbinden native met Snowpark, Cortex AI en databases. Zo kun je bijvoorbeeld de Cortex AI Analyst integreren in je Streamlit-app, zodat gebruikers in natuurlijke taal vragen kunnen stellen over de data en direct antwoorden krijgen in het dashboard.

Andere Snowflake-functies, zoals ingebouwde caching, minimaliseren dubbele queries, terwijl UI-verbeteringen zoals dark mode en custom components de gebruikerservaring verbeteren. Authenticatie en beveiligde verbindingen worden automatisch afgehandeld via de authenticatieprotocollen van Snowflake. Gevoeligheid van data kan worden beheerd met rolgebaseerde controls van Snowflake.

Dit vereenvoudigt datamanagement en laat developers focussen op het bouwen van tools.

Interactieve visualisaties en snelle iteratie

Een van de grootste krachten van Streamlit is de mogelijkheid om in minuten een simpele Python-script om te zetten naar een interactieve app. In Snowflake kun je apps direct previewen en itereren, code updaten en live resultaten zien zonder lange deploy-wachttijden.

Delen en samenwerken

Streamlit-apps kun je direct delen met gebruikers binnen Snowflake. Zo kun je de app eenvoudig delen met verschillende teams via rollen of met individuele leden. Samenwerking zit in de workflow ingebakken, waardoor meerdere teamleden samen aan apps kunnen werken, testen en deployen. 

Aan de slag met Streamlit in Snowflake

Beginnen met SiS is eenvoudig en je kunt binnen enkele minuten je eerste app maken. We moeten alleen zorgen dat je de juiste permissies en basiskennis hebt.

Vereisten

Om een Streamlit-app in Snowflake te bouwen, heb je een actief Snowflake-account nodig met toegang tot Snowsight, de webinterface. Deze introductie tot Snowflake laat zien hoe je door Snowsight navigeert. Je zou basiskennis van Python moeten hebben. Het kan nuttig zijn om deze introductiecursus Python door te nemen om je kennis op te frissen.

Zodra je toegang hebt tot Snowflake, zorg dan dat je de volgende permissies hebt:

  • Databasepermissies: USAGE
  • Schematoegangen: USAGE, CREATE STREAMLIT, CREATE STAGE

Accountsetup en omgevingsconfiguratie

Log eerst in op Snowsight en kies of maak een database en schema waar je app komt te staan. Ga naar My Workspace en open een nieuw SQL-bestand. Laten we een rol maken genaamd streamlit_creator die toegang krijgt tot ons streamlit_schema op onze streamlit_database. Daarnaast maken we een warehouse streamlit_wh aan dat de primaire compute-bron voor onze Streamlit-app wordt.

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;

Je eerste Streamlit-app bouwen

Om het concreet te maken, lopen we door een simpele app. Zodra je Snowflake-account en permissies klaarstaan, ga je in Snowsight naar PROJECTS >> Streamlit. Klik in dit venster rechtsboven op + Streamlit App. 

Vul een appnaam in met een naam naar keuze. Stel de applocatie in op STREAMLIT_DB en STREAMLIT_SCHEMA. Kies vervolgens “Run on warehouse” en selecteer “STREAMLIT_WH” als App Warehouse.

Hiermee opent de editor. Daar staat standaard een klein script in. De app wordt ook automatisch uitgevoerd en je ziet een preview.

Laten we wat eigen data van interesse aan de app toevoegen. Plaats dit kleine fragment onderaan de bestaande code:

	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)

	

Klik daarna rechtsboven op “Run”. De preview in de app wordt geüpdatet en verwerkt de data uit de sampletabel. Je zou zowel een datatabel als een staafdiagram moeten zien. Vanaf hier kun je de queries aanpassen, filters toevoegen of de UI uitbreiden met Streamlit-widgets.

Je merkt hier het gebruik van Snowpark op. Als je het nog niet gebruikt hebt: Snowpark is de library van Snowflake waarmee je Snowflake-data kunt verwerken in programmeertalen zoals Python. Ik raad deze introductie tot Snowpark sterk aan, omdat data ophalen in Streamlit vaak Snowpark vereist om met je Snowflake-databases te interfacen.

Deploystrategieën en -methoden

Er zijn meerdere manieren om Streamlit in Snowflake te deployen. De makkelijkste is via Snowsight, de webinterface, maar je kunt ook command-line interface (CLI)-tools gebruiken. Daarnaast kun je workflowtools toevoegen om je projectorganisatie en schaalbare deployment te ondersteunen.

Snowsight-deployment

Zoals in de vorige sectie getoond, is de eenvoudigste methode via Snowsight, de webinterface van Snowflake. Het extra voordeel is de gesplitste weergave voor het bewerken en realtime previewen van je app. Deze set-up is ideaal voor developers die tijdens het bouwen direct feedback willen.

CLI-deployment

Voor meer geavanceerde scenario’s kun je met CLI-tools apps programmatisch deployen. Dit is vooral handig als je deploys wilt integreren in continuous integration en continuous delivery (CI/CD)-pipelines. Met een meer gestructureerde ontwikkelwijze kun je apps opslaan in projectmappen als .py-bestanden, net als normale Streamlit-apps, naast .yml-bestanden die de omgeving en Snowflake-commando’s aansturen. Zo kun je GitHub gebruiken om wijzigingen te volgen, automatische checks te draaien en naadloos te deployen.

Integratie met dbt en workflowtools

Een andere optie is om Streamlit-apps te combineren met workflowtools zoals dbt (data build tool), dat Snowflake van nature ondersteunt. Dbt kan bijvoorbeeld je kern-ETL-workflow beheren die naar je Streamlit-app stroomt. Binnen hetzelfde dbt-project kun je Streamlit automatisch herdeployen wanneer nodig, passend bij je dbt-workflow. Zo organiseer je complexe dataworkflows netjes in projecten en schaal je je deployment mee met je workflow. 

Architectuur en technische implementatie

Laten we bespreken hoe Streamlit in Snowflake onder de motorkap werkt.

Technische architectuur

Streamlit in Snowflake-apps draaien in een veilige, containergebaseerde omgeving die volledig door Snowflake wordt beheerd. Dit ontwerp zorgt ervoor dat applicaties geïsoleerd blijven, met behoud van een beveiligde verbinding met Snowflake-databronnen en -services. Naarmate de complexiteit van je app toeneemt of databases groter worden, beheert Snowflake de schaalvergroting aan de backend.

Warehousebeheer

Wanneer je een app start, verbruikt deze compute-resources van het geconfigureerde warehouse. Net als bij je SQL-queries bepaalt de warehousegrootte zowel performance als kosten, dus resourceplanning is belangrijk. Developers vinden het handig om een warehouse aan hun Streamlit-apps te koppelen voor eenvoudiger bijhouden. Daarnaast gebruikt Snowflake interne stages voor veilige bestandsopslag, wat voorkomt dat data buiten het platform lekt. Dit vereenvoudigt het voeden van data in je app en behoudt de veiligheid van je data.

Python-packages en omgeving

Python-omgevingen in SiS worden beheerd en samengesteld met het oog op security. Alleen goedgekeurde packages zijn beschikbaar, en het installeren van externe packages is beperkt. Daarnaast zijn zaken als scripts, styles, fonts en iframe-embedding om veiligheidsredenen beperkt. Als je functionaliteit nodig hebt buiten wat wordt aangeboden, kun je dit mogelijk implementeren via Snowpark UDF’s of vertrouwen op bestaande Python-libraries die door Snowflake worden ondersteund.

Securitymodel en permissies

Gelukkig gebruikt SiS veel van de bestaande security-infrastructuur van Snowflake, zoals rolgebaseerde toegang, delen en netwerkbeveiliging.

Role-based access control (RBAC)

Snowflake gebruikt een role-based access control (RBAC)-systeem voor Streamlit-apps en hun data. Toegang tot de data vereist de USAGE-privilege voor elke Streamlit-app en de onderliggende data. Alleen rollen met CREATE STREAMLIT-rechten kunnen apps bouwen, en eigenaarschap van apps is gekoppeld aan permissies op schemaniveau. Dit zorgt voor duidelijk overzicht wie apps kan ontwikkelen en beheren.

Delen en toegangsbeheer

Het delen van apps is even strikt geregeld. Je kunt toegang tot apps verlenen of beperken op basis van gebruikersrollen. Voor SQL-uitvoering gelden dezelfde rolgebaseerde permissies. SQL wordt via de Streamlit-app uitgevoerd en ontwikkelaars kunnen geen queries draaien op databases zonder de juiste rechten.

Netwerk- en contentsecurity

Aan de netwerkkant handhaaft Snowflake strikte content security policies (CSP). Deze voorkomen dat apps ongeautoriseerde externe scripts, styles of resources laden, waardoor het risico op data-exfiltratie of onveilige integraties afneemt. Door te minimaliseren welke externe libraries in de omgeving worden geïmporteerd, verklein je het risico op securitylekken en bescherm je de privacy van data en gebruiker.

Performance-optimalisatie voor Snowflake Streamlit

Naarmate je app complexer wordt, is goede optimalisatie belangrijk om de functionaliteit op peil te houden.

Query-optimalisatie en caching

Efficiënte apps bouwen vraagt aandacht voor zowel queries als compute-resources. Het helpt om je queries buiten je Streamlit-app te testen (op een vergelijkbaar warehouse) om de rekeninspanning te begrijpen. Geoptimaliseerde SQL-queries schrijven is essentieel om bottlenecks te voorkomen. 

Streamlit’s ingebouwde cachingfuncties st.cache_data en st.cache_resource helpen herhaalde berekeningen en het herladen van data te verminderen. Een kanttekening is echter dat st.cache_data en st.cache_resource niet volledig worden ondersteund. Ze staan alleen caching op sessieniveau toe, wat betekent dat elke keer dat de gebruiker een nieuwe sessie opent, de query en data opnieuw moeten worden geladen. Houd hier rekening mee en optimaliseer je queries zoveel mogelijk.

Keuze en configuratie van warehouses

De keuze van het warehouse speelt een grote rol in de responsiviteit van de app. Grotere warehouses verhogen de snelheid maar ook de kosten. Voor apps met veel verkeer kunnen dedicated warehouses de beste optie zijn. Lichte apps kunnen vaak prima draaien op kleinere warehouses zonder performanceproblemen.

Applicatiearchitectuur

Ook de applicatiearchitectuur is van belang. Progressief data laden en state management kunnen apps responsiever maken, zeker bij grote datasets. Probeer niet je hele app in één keer te laden als er meerdere componenten zijn. Laad alleen wat de gebruiker op dat moment nodig heeft. Door met resourcebeperkingen in het achterhoofd te ontwerpen, voorkom je problemen zoals het raken van message size- of geheugenlimieten.

Use-cases en voorbeeldapplicaties van Streamlit in Snowflake

Naast simpele dashboards en data-apps kan Streamlit in Snowflake krachtige tools inzetten voor machine learning, AI, business intelligence en NLP. We lichten enkele use-cases uit.

Business intelligence en datavisualisaties

Voor analyticsteams is Streamlit in Snowflake een manier om interactieve dashboards en rapportagetools te bouwen. Doordat je verbonden bent met je Snowflake-databases, kun je dashboards realtime updaten voor betere besluitvorming. Je kunt snel en eenvoudig vergelijkbare apps deployen voor verschillende afdelingen en teams. Voorbeelden zijn voorraadtrackers, dashboards voor compute-gebruik of executive performance-samenvattingen. Zo kunnen we callcenter-analytics bouwen met Snowflake Cortex en Snowpark-integratie in de Streamlit-app door transcripties van beldata te gebruiken en analyses over gesprekken te genereren.

Machine learning en AI

Om je data echt te benutten, kunnen Streamlit-apps worden ontworpen voor machine learning- en AI-inzichten. Machinelearningteams kunnen bijvoorbeeld interactieve apps deployen die modellen aanbieden voor vraagvoorspelling, klantsegmentatie of anomaliedetectie. Met Cortex AI kunnen developers ook retrieval augmented generation (RAG)-apps of conversational AI-tools maken. Een sterke implementatie voegt PyTorch-modellen toe die gerichte upsells voor klanten bieden op basis van individuele profielen, allemaal verpakt in een visuele inference-app.

NLP en geavanceerde analytics

Voor inzichten uit tekstuele feedback zoals chats en e-mails is natural language processing de juiste weg. Met libraries als spaCy, NLTK of Snowflake’s interne Cortex AI-tekstverwerking kunnen we al deze tekstinformatie benutten en tools bouwen voor sentimentanalyse, named entity recognition en andere NLP-oplossingen. Zo kunnen we Snowflake Cortex gebruiken voor het grootste deel van de NLP-analyse, zoals samenvatten en sentimentanalyse. Dit voedt vervolgens een database die analytics levert over reviews en supportchats met Streamlit in Snowflake.

Dataverzameling en invoerapplicaties

Streamlit-apps werken ook goed voor dataverzameling en kwaliteitsbeheer, zoals annotatietools of collaboratieve invoerinterfaces. Hoewel uploads beperkt zijn tot 200 MB, kun je een plek bieden waar gebruikers kleine datasets of documenten kunnen uploaden voor verwerking of samenvatting in je app. De mogelijkheden zijn eindeloos!

Integratie met het Snowflake-ecosysteem

Streamlit in Snowflake is krachtig door de vele integraties binnen het ecosysteem, zoals Snowpark en data sharing.

Integratie met Snowpark

Snowpark maakt analyseren in Python met Snowflake erg gemakkelijk. Het biedt geavanceerde dataverwerking, gedistribueerde berekeningen en custom functions. Omdat we Snowpark-dataframes native kunnen gebruiken in onze Streamlit in Snowflake-app, kunnen we dit eenvoudig benutten met heel weinig overhead. Dingen als stored procedures en UDF’s gebruiken in je Snowflake-omgeving wordt een fluitje van een cent met het udf-object van Snowpark. 

Data sharing en automatisering

Data delen binnen Snowflake is eenvoudig en met de Snowsight-UI kost het slechts een paar klikken. Met Snowflake Tasks en eventgedreven features kunnen developers ook gemakkelijk workflows automatiseren. Je kunt bijvoorbeeld appupdates triggeren wanneer er nieuwe data binnenkomt, datachecks uitvoeren om te zorgen dat niets breekt en data up-to-date houden.

Gecombineerd met dbt kun je end-to-end-workflows creëren waarbij datatransformaties direct doorstromen naar Streamlit-apps, zodat gebruikers realtime updates krijgen.

Facturatie en kostenoverwegingen

Zoals bij alle cloudplatforms zijn facturatie en kostenoverwegingen belangrijk. Een dure Streamlit-app wordt minder snel gebruikt, dus vooraf over kosten nadenken zorgt voor een soepel ontwikkelproces.

Inzicht in de kosten voor Streamlit in Snowflake

Kosten voor Streamlit in Snowflake zijn vergelijkbaar met andere processen in Snowflake. Als je een specifieke database/schema voor Streamlit hebt, gelden de gebruikelijke opslagkosten voor die data. Zoals eerder genoemd wil je waarschijnlijk een warehouse specifiek toewijzen aan je Streamlit in Snowflake-services, zodat je de compute-kosten kunt volgen. Grotere warehousegroottes, appconcurrentie (meerdere gebruikerssessies) en datavolume zijn de belangrijkste kostenfactoren.

Resourcegebruik optimaliseren

Om de uitgaven te beheersen is right-sizing van warehouses belangrijk. Kleine apps met lichte workloads moeten onnodig grote warehouses vermijden. Streamlit-caching helpt herhaalde queries binnen sessies te minimaliseren, wat het compute-gebruik verlaagt. Snowflake biedt ook monitoringtools die het verbruik bijhouden, zodat je datagedreven kostenaanpassingen kunt doen.

Beperkingen en aandachtspunten

Hoewel Streamlit in Snowflake krachtig is, zijn er enkele beperkingen om rekening mee te houden, met name rond externe packages en bestandsuploads.

Beperkingen door content security policy (CSP)

Het platform handhaaft strikte content security policies om data te beveiligen. Zaken als custom scripts, styles en onderdelen die een extern domein vereisen, worden eerder geblokkeerd. Zorg dat componenten die je gebruikt geen externe calls nodig hebben. Dit verhoogt de veiligheid van je app aanzienlijk, maar beperkt wel deels de aanpasbaarheid waaraan je misschien gewend bent vanuit eigen Streamlit-implementaties.

Beperkingen rond datatransfer en caching

Werken met grote datasets kan een uitdaging zijn door beperkingen in caching en berichtoverdracht. De belangrijkste beperking van caching is dat deze sessiegebaseerd is en niet gebruikersgebaseerd. Gebruikers die apps opnieuw bezoeken en een nieuwe sessie starten, moeten data dus opnieuw laden. Denk goed na over je gebruikers en of ze vaak nieuwe sessies starten. Zo ja, kijk dan hoe je de datalast tussen sessies kunt minimaliseren.

Hoewel er geen expliciete limiet is voor de grootte van queries of de hoeveelheid data in geheugen, is er wel een berichtlimiet van 32 MB. Dit betekent dat het weergeven van grote dataframes en extreem complexe kaarten een beperkende factor kan zijn. Overweeg wat essentieel is om aan gebruikers te tonen en wat je kunt stroomlijnen.

Beperkingen voor bestandsupload en externe opslag

Bestandsuploads werken, maar zijn beperkt tot 200 MB. Je kunt ook niet direct met externe stages werken en moet de data eerst naar Snowflake verplaatsen. Direct pullen uit Apache Iceberg werkt dus niet, maar ophalen uit een interne data lake voor die data wel.

Daarnaast is de uploadfunctionaliteit qua grootte beperkt en worden externe stages momenteel niet ondersteund, wat de manier beperkt waarop apps met bestanden omgaan.

Conclusie

Streamlit in Snowflake biedt een krachtige, geïntegreerde manier om interactieve data-apps te bouwen en te deployen zonder je Snowflake-omgeving te verlaten. Het combineert security, schaalbaarheid en gebruiksgemak, met ondersteuning voor geavanceerde integraties met Snowpark, Cortex AI en dbt.

Hoewel er beperkingen zijn, zoals restricties op externe resources en bestandsuploads, maken de voordelen van snelle iteratie, beheerde infrastructuur en naadloos delen SiS tot een transformerend platform voor datateams. Junior practitioners kunnen klein beginnen—experimenteren met eenvoudige dashboards—en opschalen naar enterprise-klare AI- en analytics-applicaties. Meer weten over Snowflake? Bekijk dan het volgende:

Snowflake Streamlit FAQ’s

Wat is Snowflake Streamlit en hoe verschilt het van reguliere Streamlit?

Snowflake Streamlit is een volledig beheerde versie van Streamlit die native binnen Snowflake draait, waardoor aparte servers of infrastructuur niet nodig zijn. Bij reguliere Streamlit moet je het zelf draaien/hosten.

Hoeveel Python-kennis heb je nodig om te beginnen?

Basiskennis van Python is genoeg. Als je functies kunt schrijven, libraries kunt importeren en dataframes (bijv. met Pandas) begrijpt, kun je snel simpele apps bouwen.

Wat zijn de belangrijkste verschillen tussen deployen via Snowsight en de CLI?

Snowsight is visueel en beginnersvriendelijk, ideaal voor prototyping. De CLI is beter voor automatisering, versiebeheer en CI/CD-pipelines.

Beïnvloedt het draaien van Streamlit-apps in Snowflake mijn creditverbruik?

Ja. Omdat Streamlit-apps data uit Snowflake queryen, verbruikt het draaien ervan compute-credits, vergelijkbaar met het uitvoeren van queries. Het optimaliseren van queries helpt de kosten te beheersen.

Is het mogelijk om Snowflake Streamlit-apps te integreren met GitHub of CI/CD?

Ja. Met de Snowflake-CLI kun je appdeployments integreren in CI/CD-pipelines (bijv. GitHub Actions), waardoor het eenvoudig is om updates te automatiseren bij codewijzigingen.

Tim Lu

Auteur

Tim Lu

Ik ben een data scientist met ervaring in ruimtelijke analyse, machine learning en datapijplijnen. Ik heb gewerkt met GCP, Hadoop, Hive, Snowflake, Airflow en andere data science- en engineeringprocessen.

Onderwerpen

Gerelateerd