Snowparkを試してみた⛄️


Snowparkとは

クラウド型DWHのSnowlakeから今年の6月にリリースされた新機能です。
Snowflake内のデータを操作するAPIでSnowflakeの計算リソースを使って処理の実行をすることができます。
現在はScalaのみサポートしてるみたいです。

試してみる

公式の手順に沿ってやってみました。

build.sbtに依存関係を追加します。
Scala 2.13.xではSnowparkは対応していないようなので気をつけてください!

build.sbt
name := "snowpark"

version := "0.1"

scalaVersion := "2.12.13"

libraryDependencies += "com.snowflake" % "snowpark" % "0.10.0"

table1の内容をセレクトするコードを書いてみました。
設定情報はprofile.propertiesに書いています。

Main.scala
import com.snowflake.snowpark.Session

object Main {
  def main(args: Array[String]): Unit = {
    val session = Session.builder.configFile(getClass.getResource("/profile.properties").getPath).create
    session.sql("select * from table1").show()
    session.close()
  }
}

無事取得できました!

クラウドデータプラットフォームを目指すという心意気が感じられる機能だと思いました。
機械学習系のライブラリもSnowflakeのリソースを使って実行できるのでPythonのサポートも楽しみですね!