有幾個Scala和Python庫,幫助為火花代碼編寫單元測試。
Scala可以使用以下:
對於Python後你也可以使用(除了spark-testing-base)
為所有這些庫代碼示例可以發現一個地方。
這是使用Chispa很小的例子:
從chispa進口進口pyspark.sql *。函數從pyspark F。sql進口SparkSession火花= SparkSession.builder.master(當地).appName (chispa) .getOrCreate () def remove_non_word_characters (col):返回F。regexp_replace(坳,“[^ \ \ w \ \ s] + ", " ") def test_removes_non_word_characters_short (): data = [(“jo&&se”、“何塞”)(“李* * * *”,“李”),(“#::路易莎”,“路易莎”),(不,沒有)]df =火花。createDataFrame(數據,[“名稱”、“expected_name”])。withColumn (clean_name remove_non_word_characters (F.col(“名字”)))assert_column_equality (df、“clean_name”、“expected_name”) def test_remove_non_word_characters_nice_error (): data = [(“matt7”,“馬特”)(“比爾”、“法案”)(“伊莎貝拉*”、“伊莎貝拉”),(不,沒有)]df =火花。createDataFrame(數據,[“名稱”、“expected_name”])。withColumn (clean_name remove_non_word_characters (F.col(“名字”)))assert_column_equality (df、“clean_name”、“expected_name”)