メインコンテンツまでスキップ

Databricks Connect for Scala のテスト

注記

この記事では、Databricks Runtime13.3LTLTS以降のDatabricks Connectについて説明します。

この記事では、Databricks Runtime 13.3 LTS 以降で Databricks Connect を使用して ScalaTest を使用してテストを実行する方法について説明します。Databricks Connect for Scala をインストールするには、 「Databricks Connect for Scala のインストール」を参照してください。

ScalaTest の使用を開始し、ローカルで実行するには、ScalaTest ドキュメントの 「Getting started 」を参照してください。

たとえば、次のファイルsrc/main/scala/NYCTaxiFunctions.scalaSparkSession インスタンスを返す getSpark 関数と、samples カタログの nyctaxi スキーマの trips テーブルを表すDataFrameを返す getTaxis 関数が含まれているとします。

NYCTaxiFunctions.scala:

Scala
package org.example.application

import com.databricks.connect.DatabricksSession
import org.apache.spark.sql.{DataFrame, SparkSession}

class NYCTaxiFunctions {
def getSpark: SparkSession = {
DatabricksSession.builder().getOrCreate()
}

def getTaxis: DataFrame = {
val spark = getSpark
spark.read.table("samples.nyctaxi.trips")
}
}

また、これらの getSparkTO 関数と getTaxis 関数を呼び出す次のファイル src/main/scala/Main.scalaがあるとします。

Main.scala:

Scala
package org.example.application

object Main {
def main(args: Array[String]): Unit = {
val nycTaxiFunctions = new NYCTaxiFunctions()
val df = nycTaxiFunctions.getTaxis

df.show(5)
}
}

次のファイル src/test/scala/NYCTaxiFunctionsTest.scala は、getSpark 関数が SparkSession インスタンスを返すかどうか、getTaxis 関数が少なくとも1行のデータを含む DataFrame を返すかどうかをテストします。

NYCTaxiFunctionsTest.scala:

Scala
package org.example.application

import org.apache.spark.sql.SparkSession
import org.scalatest.flatspec.AnyFlatSpec
import org.scalatest.matchers.should.Matchers

class SparkSessionTypeTest extends AnyFlatSpec with Matchers {
"The session" should "be of type SparkSession" in {
val nycTaxiFunctions = new NYCTaxiFunctions()
val spark = nycTaxiFunctions.getSpark
spark shouldBe a [SparkSession]
}
}

class GetTaxisRowCountTest extends AnyFlatSpec with Matchers {
"The DataFrame" should "have at least one row" in {
val nycTaxiFunctions = new NYCTaxiFunctions()
val df = nycTaxiFunctions.getTaxis
df.count() should be > (0L)
}
}

これらのテストを実行するには、 ScalaTest クイックスタート またはIDEのドキュメントを参照してください。たとえば、IntelliJ IDEA の場合は、IntelliJ IDEA ドキュメントの「 Test Scala applications 」を参照してください。