我试图写一个从 DataFrame 到 DataFrame 的转换方法。我也想通过scalatest来测试它。
如您所知,在带有 Scala API 的 Spark 2.x 中,您可以按如下方式创建 SparkSession 对象:
import org.apache.spark.sql.SparkSession
val spark = SparkSession.bulider
.config("spark.master", "local[2]")
.getOrCreate()
此代码适用于单元测试。但是,当我使用 spark-submit 运行此代码时,集群选项不起作用。例如,
spark-submit --master yarn --deploy-mode client --num-executors 10 ...
不创建任何执行者。
我发现当我删除config("master", "local[2]")
部分上述代码时应用了 spark-submit 参数。但是,没有大师设置单元测试代码不起作用。
我试图将火花(SparkSession)对象生成部分拆分为测试和主要部分。但是有太多的代码块需要 spark,例如import spark.implicit,_
和spark.createDataFrame(rdd, schema)
.
是否有任何最佳实践来编写代码来创建用于测试和运行 spark-submit 的 spark 对象?