Tôi đang cố gắng nhập spark.implicits._ Rõ ràng, đây là một đối tượng bên trong một lớp trong scala. khi tôi nhập nó trong một phương pháp như vậy:Nhập spark.implicits._ vào scala
def f() = {
val spark = SparkSession()....
import spark.implicits._
}
Nó hoạt động tốt, tuy nhiên tôi đang viết một lớp thử nghiệm và tôi muốn thực hiện nhập khẩu này có sẵn cho tất cả các xét nghiệm Tôi đã thử:
class SomeSpec extends FlatSpec with BeforeAndAfter {
var spark:SparkSession = _
//This won't compile
import spark.implicits._
before {
spark = SparkSession()....
//This won't either
import spark.implicits._
}
"a test" should "run" in {
//Even this won't compile (although it already looks bad here)
import spark.implicits._
//This was the only way i could make it work
val spark = this.spark
import spark.implicits._
}
}
Điều này không chỉ trông xấu, tôi không muốn làm điều đó cho mọi thử nghiệm Cách "thực hiện" chính xác là gì?
Tại sao không ở đầu tệp? Thông thường, tất cả các hàng nhập khẩu đều có – spiffman
Cố gắng cũng quên viết mã, nhưng dường như không thể vì "implicits" là một đối tượng bên trong lớp "spark" và nó cần được khởi tạo trước – ShinySpiderdude