2017-07-21 8 views
0

私の質問は少しノービッシュに見えるかもしれません。SparkSessionビューはグローバルに

パッケージ内に多数の.scalaファイルを含むプロジェクトがあります。

object sparkSessX{ 
    import org.apache.spark.sql.SparkSession 
    import org.apache.spark.sql.functions._ 

    val spark: SparkSession = SparkSession.builder() 
             .appName("My App") 
             .config("spark.master", "local") 
             .getOrCreate() 

    // For implicit conversions like converting RDDs to DataFrames 
    import spark.implicits._ 
} 

と、そのオブジェクトを拡張したり、インポートするすべてのクラス:のようなシングルトンオブジェクトの内部で上記のコードをラップすることをお勧めし

import org.apache.spark.sql.SparkSession 
import org.apache.spark.sql.functions._ 

val spark: SparkSession = SparkSession.builder() 
             .appName("My app") 
             .config("spark.master", "local") 
             .getOrCreate() 

// For implicit conversions like converting RDDs to DataFrames 
import spark.implicits._ 

:私は次のようにスパーク-SQLを使用したいですか?

答えて

0

以前はこれまで見たことがありませんでしたが、Spalaの開発者が多くなるにつれて、新しいデザインパターンが多く出現しています。それは一つかもしれない。

私はval sparkを暗黙的に考え、この暗黙のコンテキスト(関数の2番目のパラメータ)を介して必要な場所に渡すことができると思います。

オブジェクトも特性にすることを検討してください。

関連する問題