簡體   English   中英

將 sparkSession 作為函數參數傳遞 spark-scala

[英]Passing sparkSession as function parameters spark-scala

我正在使用 spark-scala 生成表格,我很關心效率。

通過 sparkSession 會使我的程序變慢嗎? 它比 SparkSession.getOrCreate 慢嗎?

我使用紗線作為主人。

提前致謝。

您可以創建 Spark 會話一次並在不損失任何性能的情況下傳遞。 但是,修改方法簽名以傳入會話對象並不方便。 您可以通過簡單地在函數中調用getOrCreate來獲取相同的全局會話而不傳遞它來避免這種情況。 getOrCreate被調用時,它會將當前會話設置為默認SparkSession.setDefaultSession廣告將其返回給其他getOrCreat調用

    val spark : SparkSession = SparkSession.builder
      .appName("test")
      .master("local[2]")
      .getOrCreate()

    //pass in function
    function1(pass)
    
    //obtain without passing
    
    def function2(){
    val s = SparkSession.builder.getOrCreate()
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM