Snowflake kondigt de publieke preview aan van Snowpark Connect voor Spark. De nieuwe architectuur maakt het mogelijk om Apache Spark-code direct in Snowflake-warehouses uit te voeren, zonder aparte Spark-clusters te onderhouden.
Tot nu toe kozen veel Snowflake-organisaties voor de Spark Connector om Snowflake-data met Spark-code te verwerken. Deze aanpak introduceerde echter datamovement, wat resulteerde in extra kosten, latentie en governance-complexiteit.
Snowpark Connect elimineert deze problemen door dataverwerking direct in Snowflake uit te voeren. Dit voorkomt datamovement en vermindert latentie, terwijl een uniform governance-framework wordt gehandhaafd.
De oplossing werkt met Apache Iceberg-tables, inclusief extern beheerde Iceberg-tables en catalog-linked databases. Organisaties kunnen de kracht van het Snowflake-platform benutten zonder data te verplaatsen of Spark-code te herschrijven.
Tip: Snowflake verder in open data via Apache Iceberg-updates
Spark Connect als basis
Met de introductie van Apache Spark 3.4 kwam Spark Connect beschikbaar, een client-server architectuur die de gebruikerscode loskoppelt van het Spark-cluster. Deze scheiding vormt de basis voor Snowpark Connect.
De nieuwe oplossing elimineert de complexiteit van het beheren van aparte Spark-omgevingen. Organisaties hoeven niet langer te worstelen met dependencies, versiecompatibiliteit en upgrades van Spark-infrastructuur.
Prestatie- en kostenvoordelen
Snowflake claimt aanzienlijke voordelen voor klanten die Snowpark Client gebruiken. Gemiddeld zouden zij 5,6 keer snellere prestaties zien vergeleken met managed Spark-oplossingen. Daarnaast realiseren zij 41 procent kostenbesparing.
Met Snowpark Connect krijgen organisaties deze voordelen zonder hun bestaande Spark-code te hoeven herschrijven. De oplossing ondersteunt moderne Spark DataFrame, Spark SQL en user-defined functions (UDF’s). De elastic compute runtime met virtual warehouses van Snowflake zorgt voor automatische performance tuning en scaling.
Huidige beperkingen
Snowpark Connect ondersteunt momenteel alleen Spark 3.5.x-versies en is beperkt tot Python-omgevingen. Java- en Scala-ondersteuning is in ontwikkeling.
Belangrijke Spark-functionaliteiten zoals RDD, Spark ML, MLlib, Streaming en Delta API’s maken nog geen deel uit van Snowpark Connect. Voor ondersteunde API’s kunnen semantische verschillen bestaan vergeleken met standaard Spark-implementaties.
De oplossing is beschikbaar via diverse clients, waaronder Snowflake Notebooks, Jupyter notebooks, Snowflake stored procedures, VSCode, Airflow en Snowpark Submit.