PySpark 单元测试方法
Posted
技术标签:
【中文标题】PySpark 单元测试方法【英文标题】:PySpark unit test approach 【发布时间】:2016-10-17 21:09:51 【问题描述】:我编写了一个 PySpark 应用程序,它将一个带有 10 个查找表的大表连接起来,然后使用 df.when 子句对该表进行一些转换。为每个查找表定义 df 并将它们连接起来占用脚本中的大部分行。我如何对此进行单元测试?是否对每个查找表和最终表使用 sc.parallize 并检查转换?你通常如何对 Spark 应用程序进行单元测试?
【问题讨论】:
你检查过this吗? 【参考方案1】:帅远的评论很好,你应该使用现有的框架,如 py.test 在 Python 中进行测试。为了更直接地回答 DataFrames 的问题,我建议您不要使用 sc.parallelize
,而是使用 spark.createDataFrame
来实例化您传递给函数的 DataFrame。然后,您可以在输出上调用 df.collect()
并断言输出中的行数是您所期望的以及列的值。
【讨论】:
以上是关于PySpark 单元测试方法的主要内容,如果未能解决你的问题,请参考以下文章
pyspark 的用户定义函数 (UDF) 是不是需要单元测试?