在同一项目中的多个文件之间共享SparkContext

时间:2018-07-04 23:59:37

标签: scala apache-spark rdd

我是Spark和Scala的新手,想知道我是否可以共享在主函数中创建的相同sparkContext,以将文本文件读取为位于不同包中的Scala文件中的RDD。

请让我知道处理相同问题的最佳方法。

我将非常感谢您对此有所帮助。谢谢!

1 个答案:

答案 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
}