我是Spark和Scala的新手,想知道我是否可以共享在主函数中创建的相同sparkContext,以将文本文件读取为位于不同包中的Scala文件中的RDD。
请让我知道处理相同问题的最佳方法。
我将非常感谢您对此有所帮助。谢谢!
答案 0 :(得分:0)
您可以这样做。例如,您可以像传递其他任何变量一样传递sparkContext
。
package Y
import X
main() {
val sc = SparkSession.builder().master("local[*]").getOrCreate().sparkContext
X.read_files_method(sc)
}
// method in other package
package X
read_files_method(sc : SparkContext) {
val rdd = sc.textFile(some_path)
rdd.collect.foreach(println) // prints rdd data when run main method in package Y
}